有时当 JDK
声明一个方法时,例如Integer.parseInt(String s)
它抛出一个 NumberFormatException
,但是当调用该方法时,您不需要尝试和捕获,我如何在自己的代码中执行此操作?
答案 0 :(得分:2)
不清楚您到底在问什么 - 未经检查的异常或如何避免 try-catch-finalize 块。
如果您对方法如何抛出异常感兴趣,而不声明抛出它(就在主体之前),那么请注意,Java 编程语言不需要方法来捕获或指定 unchecked exceptions(“RuntimeException” 、“错误”及其子类)。
相反,您总是必须处理(或声明抛出)所有其他类型的异常。
但是,如果您质疑如何避免 try-catch-finalize
块,那么您可以通过声明您的方法抛出异常来向调用者抛出异常,如下所示:
[access-modifier] return-type methodName() throws Exception {
...
};
答案 1 :(得分:2)
在方法声明后使用“throws”子句。 例如:public static void main(String[] args) 抛出 IOException { }
答案 2 :(得分:0)
基本上有两种例外。在 Java 中检查和取消检查。从 RuntimeException 派生的所有异常都被取消选中,您不必捕获它们。
因此,如果您创建一个自己的异常来扩展 RuntimeException,则不必捕获它。还要检查现有的,因为它们通常已经满足您的需求。像 IllegalStateException 或 IllegalArgumentException。
答案 3 :(得分:0)
答案 4 :(得分:0)
这个不需要 try_catch 的异常是从 Exception 类的 RuntimeException insted 扩展而来的。
您可以像这样创建自己的 RuntimeException:
public class CustomException extends RuntimeException {
public CustomException(String msg) {
super(msg);
}
}
在这里,我给您留下一个链接,其中包含有关不同异常以及如何处理它们的更多信息: https://howtodoinjava.com/java/exception-handling/checked-vs-unchecked-exceptions-in-java/