黑马程序员技术交流社区

标题: 关于throws异常抛出和try catch的问题 [打印本页]

作者: qy    时间: 2011-11-8 09:07
标题: 关于throws异常抛出和try catch的问题
java 中很多要用到throws异常抛出 和try catch 来扑捉异常,那么这两个异常处理有什么区别??还有为什么一直建议我们用try catch 来处理异常呢?
作者: 张翼    时间: 2011-11-8 09:12
try catch 是JAVA中规定专门用于处理可能发生异常的语法,一般IO类在使用的时候都会出现异常,所以必须使用它。
作者: 柴永菲    时间: 2011-11-8 09:22
throws是碰到异常后就抛出去了,由上一层代码捕获,异常后面的代码不会执行了
catch到异常后,catch后面的代码还是可以执行;
如果发生异常,首先应该被catch,捕捉异常,捕捉异常之后首先把详细的异常信息写入log,然后分析是否能够处理,能处理则进行处理,如果不能处理应该把此异常throw,交给调用类处理,调用类处理不了,然后再throw,交给专门的异常处理类来处理.
作者: 张邦庆    时间: 2011-11-8 09:23
异常分编译时异常和运行时异常,一般编译时异常在eclipse中编写的时候就会报错,编译不会通过,有时候我们要把这个异常转化为运行时异常,这样就能通过了,在实际应用中我们使用try catch来捕获的,因为这样可以便于以后的维护,更重要的是如果抛出的话到最后就抛到jvm那里去了,不能解决实质上的问题,所以一定要抓住处理
作者: 吉许    时间: 2011-11-8 09:36
throws   只是把一个异常抛出去了,如果你的上层代码有处理方式,就由上层代码来处理这个异常。上层可以接着throws,直到有写处理这个异常的操作来解决
而try/catch对是清楚的知道该操作可能出现什么异常,同时在catch块中应该有处理的方法。

一个是拿过来自己揣(try)自己解决问题. 一个是把他扔出去让别人揣.当知道别人也揣不了的时候可以把异常信息转变为别人可以揣的在扔出去.

作者: qy    时间: 2011-11-8 19:52
谢谢 各位兄弟姐妹。。懂了
作者: 杨超    时间: 2011-11-8 20:26
throws   只是把一个异常抛出去了,如果你的上层代码有处理方式,就由上层代码来处理这个异常。
而try/catch对是清楚的知道该操作可能出现什么异常,同时在catch块中应该有处理的方法。
作者: 胡文杰    时间: 2011-11-8 23:14
throw或者throw是两种抛出异常是系统完成的,出现异常抛出,系统停止运行,而用try catch 是来捕获异常,try来捕获异常,catch抛出异常,捕捉异常后catch里面的代码仍可以运行,所以我们在catch里面打印输出一句话如System.out.println("运行到了这里");如果是一个程序里面有多处会出现异常的话,则可以通过上面方法打印输出一句话来判断是哪一个版块出现了异常,便于我们找到错误,所以建议使用try catch来处理异常!




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