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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘晓康 中级黑马   /  2012-4-6 23:16  /  5450 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

老师的讲解是说异常捕获是为了调试程序云云,可是我发现不捕获异常系统的提示和捕获异常出现异常的时候的提示不是一样的么,例如弄一个除0的运行时异常,你不捕获的时候如果除以0的提示和你getMessage或者printStackTrace的提示我看了都一样的呀,还有抛出异常如果捕获printStackTrace也能按照提示信息找到异常出现为止的,为什么要一定在程序中捕获而不是抛出呢?如果仅仅是printStackTrace和getMessage,捕获与否的意义是什么呢

点评

不能欺骗认真回答问题的童鞋们的感情啊。。。。。  发表于 2012-4-7 22:02

9 个回复

倒序浏览
正确答案··这个问题以前别人问过了··
地址:http://bbs.itheima.com/forum.php?mod=viewthread&tid=652
回复 使用道具 举报
学会利用论坛搜索功能很重要··不然会被别人误解为刷分··
回复 使用道具 举报
所有的异常都是由Throwable继承而来,下层分为Error和Exception
Error层次结构java运行时系统的内部错误和资源耗尽错误(应用程序不应该抛出这种类型的异常)
Exception又分为RuntimeException的异常和其他异常;
RuntimeException的异常包括有:错误的类型转换,数组访问越,访问空指针等。

如果某个异常发生的时候没有在任何地方捕获它,程序就会终止执行,并在控制台上显示异常信息!
回复 使用道具 举报
郑苑东 来自手机 中级黑马 2012-4-7 09:29:22
报纸
异常补捉,可以让我们捕获到这个异常时执行一些我们享要做的事情。如果你不捕捉直接声明抛出,那么你当执行的异常时就不会执行下面的代码。我们也可以通过捕获到的异常类型开分辨区别做不同的事。执行不同的代码。
回复 使用道具 举报
其实异常捕获还有一些作用,比如捕获异常后可以打印这样一个语句System.out.println("发生错误XXX,系统需要维护……");  这样就会让用户可以容易接受一点。也让用户容易向你报告错误。要知道出现异常后冒出一大堆英文,不是谁都能看懂的。
回复 使用道具 举报
那些异常程序员明白,但是对于用户来说就不是很好理解了,捕获异常并处理,让用户好接受一些
回复 使用道具 举报
{:soso_e103:} 这么一说发现两片内容一模一样。。。LZ不厚道啊
回复 使用道具 举报
帖子的标题 和 帖子的内容 跟二楼的链接 完全一样 。。。 不得不说 楼主 太有创意了!  {:soso_e120:}
回复 使用道具 举报
pray 高级黑马 2014-4-26 03:36:46
10#
看完楼主的帖子,我的心情竟是久久不能平复,正如老子所云:大音希声,大象希形。我现在终于明白我缺乏的是什么了,从楼主那对真理的执着追求和楼主那种对理想的艰苦实践的深邃的眼神中。面对楼主的帖子,我震惊得几乎不能动弹了,楼主舍我其谁的个人栖止,竟使我忍不住一次次的翻开楼主的帖子,每看一次楼主的样子,赞赏之情就激长数分,我总在想,是否有神灵活在他灵秀的外表下,以至能使人三月不知肉味,使人有余音穿梁,三日不绝的感受。楼主,你长得实在是太好了。我唯一能做的,就只有把这个帖子顶上去这件事了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马