带有检查异常的调用方法

| 据我所知,如果方法抛出异常,Java编译器会强制该方法的调用者捕获该异常。 我看到
parseInt
抛出
NumberFormatException
public static int parseInt(String s) throws NumberFormatException {
    return parseInt(s,10);
那么,为什么我可以在没有捕获异常的情况下将其称为:
String str = \"5\";
int n = Integer.parseInt(str);
    
已邀请:
由于ѭ1扩展了
RuntimeException
-运行时异常被认为是“未选中”,请参见
RuntimeException
的Javadoc:   RuntimeException是的超类   那些可以抛出的异常   在正常运行期间   Java虚拟机。      不需要在中声明的方法   它的throws子句的任何子类   可能引发的RuntimeException   在执行方法期间   没有抓住。 这是Java教程中的一篇文章,解释了此功能的含义以及存在的原因     
重要的区别是,不需要捕获从运行时异常扩展的任何异常,而必须捕获任何其他异常。可以随时引发扩展RuntimeException的异常,例如NullPointerException或ConcurrentModificationException,因此它们不能期望您尝试全部捕获它们。     

要回复问题请先登录注册