对不起,如果这是一个非常基本的问题
至于我的理解,如果您有一个引发异常的方法,则无论何时使用该方法,都需要捕获它(或抛出它)。
但是,一些引发异常的方法不需要我像这样捕获它:
int num = Long.parseInt(sampleString);
有人可以解释一下吗?
对不起,如果这是一个非常基本的问题
至于我的理解,如果您有一个引发异常的方法,则无论何时使用该方法,都需要捕获它(或抛出它)。
但是,一些引发异常的方法不需要我像这样捕获它:
int num = Long.parseInt(sampleString);
有人可以解释一下吗?
Java 中有两种类型的异常:checked和unchecked。前者需要catch编辑,而后者不需要。未选中Exception是扩展RuntimeException,Error或其子类之一的类。
Long#parseLong抛出一个NumberFormatExceptionwhich IS-A RuntimeException。因此,这是一个未经检查的异常,不需要被捕获。
有一些例外情况从RuntimeException. 这些被称为未经检查的异常,它们不必在您的方法签名中声明。通常,这些是为真正出错的事情保留的。
Java中有两种类型的异常。检查和未检查。不需要捕获未经检查的异常。未经检查的异常的一个很好的例子是 NullPointerException;您可以看到,如果开发人员需要捕获此异常代码将非常复杂。这将是疯狂的。引发未经检查的异常parseInt的异常。
这些是RuntimeException. RuntimeExceptions 及其子类不需要被捕获。它们被称为未经检查的异常。