当前位置: 技术问答>java相关
关于异常的一些小问题……
来源: 互联网 发布时间:2015-09-23
本文导语: 大家好。我的问题是这样的,请看 1 try 2 { 3 a(); 4 } 5 catch(NumberException e)//我乱取的一种异常 6 { 7 JOptionPane.showMessageDialog(null,"有异常","提示8 ",JOptionPane.WARNING_MESSAGE); 9 } 10 public void a() throws NumberException...
大家好。我的问题是这样的,请看
1 try
2 {
3 a();
4 }
5 catch(NumberException e)//我乱取的一种异常
6 {
7 JOptionPane.showMessageDialog(null,"有异常","提示8 ",JOptionPane.WARNING_MESSAGE);
9 }
10 public void a() throws NumberException
11 {
12 try
13 {
14 throw new OneException("异常提示信息");
15 }
16 catch(TwoException e)
17 {
18 //一些处理
19 }
20}
在上面的代码中,NumberException是OneException与TwoException的父类
当在14行中执出异常时,按书上的说法是应该到第5行去执行,但是如果这样的话,14行中的“异常提示信息”不就显示不出来了吗?
这个程序的执行顺序应该是怎么样的呢?
另外,有下面的函数:
public void b() throws Exception
{
System.exit(0);
}
在上面的代码中,并没有出现throw new 异常();这样的语句,那再函数中为什么还要加throws Exception这样的语句呢?
================================================================
我和孤单有个约会
1 try
2 {
3 a();
4 }
5 catch(NumberException e)//我乱取的一种异常
6 {
7 JOptionPane.showMessageDialog(null,"有异常","提示8 ",JOptionPane.WARNING_MESSAGE);
9 }
10 public void a() throws NumberException
11 {
12 try
13 {
14 throw new OneException("异常提示信息");
15 }
16 catch(TwoException e)
17 {
18 //一些处理
19 }
20}
在上面的代码中,NumberException是OneException与TwoException的父类
当在14行中执出异常时,按书上的说法是应该到第5行去执行,但是如果这样的话,14行中的“异常提示信息”不就显示不出来了吗?
这个程序的执行顺序应该是怎么样的呢?
另外,有下面的函数:
public void b() throws Exception
{
System.exit(0);
}
在上面的代码中,并没有出现throw new 异常();这样的语句,那再函数中为什么还要加throws Exception这样的语句呢?
================================================================
我和孤单有个约会
|
throws XXXException 表示XXX这个异常,
将被调用这个方法的方法处理,或再次抛出
比如
方法1的内部有一条throw new XXXException();
方法1的声明有throws XXXException,
那么,方法1就不必catch(XXXException),
二是由调用方法1的方法2去处理,比如
方法2内部有一条调用方法1的语句,这条语句
应该包含在try中,然后catch(XXXException)
但是,方法2也可以不去处理再次抛出此异常
那么的话,方法2的声明应该有throws XXXException
Ivor Horton的Beginning Java2说得很形象
你要么自己处理这个异常,
要么把责任交给调用者。
就是这个意思
将被调用这个方法的方法处理,或再次抛出
比如
方法1的内部有一条throw new XXXException();
方法1的声明有throws XXXException,
那么,方法1就不必catch(XXXException),
二是由调用方法1的方法2去处理,比如
方法2内部有一条调用方法1的语句,这条语句
应该包含在try中,然后catch(XXXException)
但是,方法2也可以不去处理再次抛出此异常
那么的话,方法2的声明应该有throws XXXException
Ivor Horton的Beginning Java2说得很形象
你要么自己处理这个异常,
要么把责任交给调用者。
就是这个意思
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。