黑马程序员技术交流社区

标题: 异常throw后,是不是最后必须try catch 捕获? [打印本页]

作者: 婂埖糖    时间: 2013-1-31 22:39
标题: 异常throw后,是不是最后必须try catch 捕获?
本帖最后由 婂埖糖 于 2013-4-8 16:21 编辑

懂了 谢谢
作者: 徐荣权    时间: 2013-1-31 22:46
不必。。你捕获异常可以写一些其它的代码。。比如弹出警告框、返回一个值。而且我一般catch错误后不throw,这看你使用情况,比如你用throw就得是这种情况,你需要在抛出错误之前做一些补救措施,比如你插数据插到一半报错,你得把它恢复,然后抛出。。。单纯的catch后只做抛出操作是不是很2吗。。。比如你捉了一个兔子,然后把它放了。。。最起码先拔点毛下来啊是不是
作者: 张世钦    时间: 2013-1-31 23:07
首先,throw用于函数内,throws用于函数上.
函数内抛异常函数上必须声明
函数内可能出现异常函数上要声明.
例外:RuntimeException及其子类.
class a
{
     void show() throws Exception
     {
             throw new Exception e;
      }
}

只要有异常就必须要try{}catch{}  
当然,捕获后你可以不处理,再抛出给虚拟机,
但是,只要做的话程序健壮性不好,很容易随便一搞就停了.

作者: 乔培培    时间: 2013-2-1 12:42

一旦throw之后,就表示在这个地方抛出异常,如果不catch它,程序执行到这个地方就会报错,不再执行下去
自定义抛出异常一般只是在测试时使用




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2