黑马程序员技术交流社区

标题: 关于异常的问题 [打印本页]

作者: 唐巍    时间: 2012-3-9 00:55
标题: 关于异常的问题
关键字throws和throw在用法上有什么区别?Runtime异常与非Runtime异常在处理时又有什么不同?
作者: 刘豪杰    时间: 2012-3-9 01:15
throw和throws的用法:

throw定义在函数内,用于抛出异常对象。
throws定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开。

当函数内容有throw抛出异常对象,并未进行try处理。必须要在函数上声明,否则会编译失败。
注意,RuntimeException除外。也就说,函数内如果抛出的RuntimeExcpetion异常,函数上可以不用声明。


RuntimeExcpetion异常与非RuntimeExcpetion异常的不同:

RuntimeException指运行时异常,可以不catch,因为运行时异常代表的是代码错误或者不可抗拒的系统故障,此时程序会自动停止,代码错误的话就得修正你写的代码而不是通过catch来屏蔽掉这个错误,
一般如果函数声明了异常,调用者需要进行处理。处理方法可以throws可以try。但是函数内如果抛出的RuntimeExcpetion异常,函数上可以不用声明,对于运行时异常,建议不处理,让程序停止,然后对程序进行修正





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