首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

关于异常捕获问题

2014-01-26 
关于异常捕获问题:1。不是异常如果没有被扑获(catch),那么程序就会在在发生异常的地方停止?2。 void cleanupC

关于异常捕获问题:

1。不是异常如果没有被扑获(catch),那么程序就会在在发生异常的地方停止?     
  2。 void cleanupConnections() throws Exception{
  }
  和
  在try{}catch(){}
  中扑获异常有什么不同的地方,即使用try{}catch(){}的好处是什么?
  3。如果我扑获异常的时候笼统的使用一个Exception,而不是具体到什么异常,比如IOException,SQLException,这样的弊端在哪里? 
------解决方法--------------------------------------------------------
1>是,然后向上层传递直至被捕获.
  2>throws Exception只是声名了一下,告诉调用他的人,要捕获异常,而try{}catch(){}直接就捕获了.
  调用时就不 用考虑了.
  3>弊端就是你分析错误的时候就不知道具体是什么异常了.
------解决方法--------------------------------------------------------
异常若被捕获,程序将执行CATCH中的语句,如果程序有FINALLY语句,还将执行FINALLY中的语句,然后返回调用它的程序,如果没有程序调用它,程序将退出,始终不会执行异常发生处与CATCH之间的语句.
------解决方法--------------------------------------------------------
1。不是异常如果没有被扑获(catch),那么程序就会在在发生异常的地方停止?
  是的,但如果有finally语句,只直接用出异常那行跳到finally语句里执行.
 
  2。 void cleanupConnections() throws Exception{
  }
  和
  在try{}catch(){}
  中扑获异常有什么不同的地方,即使用try{}catch(){}的好处是什么?
  第一种直接扔给了调用者,第二种是自己拿到可以做相应的处理,比如写文件出错,可以将文件删掉之类的.
 
  3。如果我扑获异常的时候笼统的使用一个Exception,而不是具体到什么异常,比如IOException,SQLException,这样的弊端在哪里?
 
  对异常的扑获有一个原则就是不能处理的异常不要去捕获,如果你只笼统的使用一个Exception,那么通常情况下你就不知道你拿到的是什么异常,也谈不上处理了.
 

        

热点排行