throw和throws的用法:
throw定义在函数内,用于抛出异常对象。
throws定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开。
当函数内容有throw抛出异常对象,并未进行try处理。必须要在函数上声明,否则会编译失败。
注意,RuntimeException除外。也就说,函数内如果抛出的RuntimeExcpetion异常,函数上可以不用声明。
RuntimeExcpetion异常与非RuntimeExcpetion异常的不同:
RuntimeException指运行时异常,可以不catch,因为运行时异常代表的是代码错误或者不可抗拒的系统故障,此时程序会自动停止,代码错误的话就得修正你写的代码而不是通过catch来屏蔽掉这个错误,
一般如果函数声明了异常,调用者需要进行处理。处理方法可以throws可以try。但是函数内如果抛出的RuntimeExcpetion异常,函数上可以不用声明,对于运行时异常,建议不处理,让程序停止,然后对程序进行修正
|