java文件里有多个异常,用try-catch处理时有一段代码直接忽略了,调试时没有异常显示,怎么改,求指教怎么改

吃小妖的星星 2013-11-06 09:26:04


import java.lang.Object;
import java.util.Vector;
class EmptyStackException extends Exception
{
public EmptyStackException(String message)
{
super(message);
}
}
class FullStackException extends Exception
{
public FullStackException(String message)
{
super(message);
}
}
public class MyStack <T>
{
Vector<T> vec= new Vector<T>();
public MyStack()
{
int MyStackSize=5;
};
public void push(T item)throws FullStackException
{
if(vec.size()>=5)
{
throw new FullStackException("堆栈满,不可再进行压入。");
}
else
{
vec.add(item);
}
}
public void pop(T item)throws EmptyStackException
{
if(vec.size()==0)
{
throw new EmptyStackException("堆栈空,不可再进行删除。");
}
else
{
vec.remove(item);
}
}
public boolean isEmpty()
{
if(vec.size()==0)
return true;
else
return false;
}
public boolean isFull()
{
if(vec.size()==5)
return true;
else
return false;
}
public void display()
{
for(int i=0;i<vec.size();i++)
{
System.out.print(vec.get(i)+" ");
}
System.out.println();
}

}
class TestMyStack
{
public static void main(String[] args)
{
try
{
MyStack<Integer> s=new MyStack<Integer>();
int i=0;
while(!s.isFull())
{
s.push(i);
i++;
}
s.display();
s.push(5); //异常
while(!s.isEmpty())
{
s.pop(5);
}
s.pop(5); //异常
}
catch (EmptyStackException e)
{
System.out.println("异常信息是:\n" + e.toString());
}
catch (FullStackException e)
{
System.out.println("异常信息是:\n" + e.toString());
}
}
}
...全文
215 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
只是_曾经 2013-11-06
  • 打赏
  • 举报
回复
将同一个方法里的代码放在一个try中。异常用Exception。这样的话整个方法只需要处理一次。
teemai 2013-11-06
  • 打赏
  • 举报
回复
引用 2 楼 u010202637 的回复:
[quote=引用 1 楼 huxiweng 的回复:] 捕获到前面的异常,后面就不执行了,直接到catch的exception中
这个知道,但怎么改啊,不要try...catch..try...catch..要try...catch...catch..这种的[/quote] 你现在就是catch ..catch的啊!

import java.lang.Object;
import java.util.Vector;

class EmptyStackException extends Exception {
	public EmptyStackException(String message) {
		super(message);
	}
}

class FullStackException extends Exception {
	public FullStackException(String message) {
		super(message);
	}
}

public class MyStack<T> {
	Vector<T> vec = new Vector<T>();

	public MyStack() {
		int MyStackSize = 5;
	};

	public void push(T item) throws FullStackException {
		if (vec.size() >= 5) {
			throw new FullStackException("堆栈满,不可再进行压入。");
		} else {
			vec.add(item);
		}
	}

	public void pop(T item) throws EmptyStackException {
		if (vec.size() == 0) {
			throw new EmptyStackException("堆栈空,不可再进行删除。");
		} else {
			vec.remove(item);
		}
	}

	public boolean isEmpty() {
		if (vec.size() == 0)
			return true;
		else
			return false;
	}

	public boolean isFull() {
		if (vec.size() == 5)
			return true;
		else
			return false;
	}

	public void display() {
		for (int i = 0; i < vec.size(); i++) {
			System.out.print(vec.get(i) + " ");
		}
		System.out.println();
	}

}

class TestMyStack {
	public static void main(String[] args) {
			MyStack<Integer> s = new MyStack<Integer>();
			int i = 0;
			try {
				while (!s.isFull()) {
					s.push(i);
					i++;
				}
				s.display();
				s.push(5); // 异常
				while (!s.isEmpty()) {
					s.pop(5);
				}
				s.pop(5); // 异常
			} catch (FullStackException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (EmptyStackException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
}
吃小妖的星星 2013-11-06
  • 打赏
  • 举报
回复
引用 1 楼 huxiweng 的回复:
捕获到前面的异常,后面就不执行了,直接到catch的exception中
这个知道,但怎么改啊,不要try...catch..try...catch..要try...catch...catch..这种的
teemai 2013-11-06
  • 打赏
  • 举报
回复
捕获到前面的异常,后面就不执行了,直接到catch的exception中
内容概要:本文介绍了一种基于混沌系统和DNA编码的彩色数字图像加密与解密方法,并通过Matlab代码实现了完整的加解密流程,同对系统的安全性进行了深入分析,重点包括抗噪声性能和抗裁剪性能的测试与评估。该方法结合混沌系统的伪随机性强、初值敏感等特点与DNA编码的高并行性和存储密度优势,构建多轮置换与扩散机制,有效提升图像加密的安全性与鲁棒性。实验部分通过对标准彩色图像进行加密处理,验证了算法在抵御常见攻击(如噪声干扰、局部裁剪)方面的优良表现,展示了其在信息安全、军事通信和多媒体传输等领域的应用潜力; 适合人群:具备一定Matlab编程基础,从事信息安全、图像处理或通信工程方向研究的研究生及科研人员; 使用场景及目标:① 实现高安全性的彩色图像加密传输;② 研究加密算法的鲁棒性,特别是在信道噪声和图像部分丢失情况下的恢复能力;③ 复现顶级SCI论文中的加密模型并进行性能对比分析; 阅读建议:建议读者结合提供的Matlab代码逐模块分析加密流程,重点关注混沌序列生成、像素置乱、DNA编码规则与运算、扩散机制的设计逻辑,并通过调整参数进行仿真实验,深入理解各环节对安全性能的影响。

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧