A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qy 黑马帝   /  2011-11-8 09:07  /  3692 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java 中很多要用到throws异常抛出 和try catch 来扑捉异常,那么这两个异常处理有什么区别??还有为什么一直建议我们用try catch 来处理异常呢?

评分

参与人数 1技术分 +1 收起 理由
杨玉揆 + 1

查看全部评分

8 个回复

倒序浏览
try catch 是JAVA中规定专门用于处理可能发生异常的语法,一般IO类在使用的时候都会出现异常,所以必须使用它。
回复 使用道具 举报
throws是碰到异常后就抛出去了,由上一层代码捕获,异常后面的代码不会执行了
catch到异常后,catch后面的代码还是可以执行;
如果发生异常,首先应该被catch,捕捉异常,捕捉异常之后首先把详细的异常信息写入log,然后分析是否能够处理,能处理则进行处理,如果不能处理应该把此异常throw,交给调用类处理,调用类处理不了,然后再throw,交给专门的异常处理类来处理.

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
异常分编译时异常和运行时异常,一般编译时异常在eclipse中编写的时候就会报错,编译不会通过,有时候我们要把这个异常转化为运行时异常,这样就能通过了,在实际应用中我们使用try catch来捕获的,因为这样可以便于以后的维护,更重要的是如果抛出的话到最后就抛到jvm那里去了,不能解决实质上的问题,所以一定要抓住处理
回复 使用道具 举报
throws   只是把一个异常抛出去了,如果你的上层代码有处理方式,就由上层代码来处理这个异常。上层可以接着throws,直到有写处理这个异常的操作来解决
而try/catch对是清楚的知道该操作可能出现什么异常,同时在catch块中应该有处理的方法。

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

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个哈!

查看全部评分

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