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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贾波 中级黑马   /  2013-11-27 22:18  /  2136 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

运行时异常与一般异常有何异同

评分

参与人数 1黑马币 +3 收起 理由
枫儿 + 3 神马都是浮云

查看全部评分

4 个回复

倒序浏览
运行时异常都是RuntimeException类及其子类异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是有程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

非运行时异常是RuntimeException以外的异常是必须进行处理的异常,这些异常是自定义检查异常,如果不处理,程序就不能编译通过。如IOException、SQLException等

评分

参与人数 1技术分 +1 黑马币 +5 收起 理由
枫儿 + 1 + 5

查看全部评分

回复 使用道具 举报
运行时异常不建议处理,是需要对代码进行改写,是程序员犯的错误。当你写的函数抛出运行时异常时不许要在函数上声明这个异常。调用者也不需要处理这个异常

一般异常可以处理也可以不处理,直接抛出,交给调用者处理。当你在函数中抛出一般异常时需要在函数上声明这个异常,否则编译不过。调用者也需要对这个异常进行相应的处理

评分

参与人数 1技术分 +1 黑马币 +5 收起 理由
枫儿 + 1 + 5 赞一个!

查看全部评分

回复 使用道具 举报
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能
遇到的异常,是一种常见运行错误。java 编译器要求方法必须声明抛出可能发生的非运行时
异常,但是并不要求必须声明抛出未被捕获的运行时异常。

评分

参与人数 1技术分 +1 收起 理由
狼王 + 1 谢谢回答。。。。。。。

查看全部评分

回复 使用道具 举报
这不是经典面试题吗,答案一般是:
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 不错哦,哈哈。。。

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马