gpt4 book ai didi

java - SCJP 考试 : Handle Exceptions

转载 作者:行者123 更新时间:2023-11-30 05:16:15 26 4
gpt4 key购买 nike

我正在准备 Java 程序员认证 (SCJP) 考试。关于异常的问题,当处理异常时,最好是处理特定的异常,如 NumberFormatException ,还是使用父级 Exception 类捕获所有异常?

根据我的类(class),未经检查的异常基本上是一个RunTimeException,这主要是程序错误的结果。这是否意味着当我手动抛出异常时我应该使用:

new Exception("... my message...")

我不应该处理RunTimeException?只处理已检查的异常?

最佳答案

您应该尽可能处理具体的异常。如果您知道何时可能引发 RuntimeException,通常应该修复您的程序,使其不会引发该 Exception

就捕获已检查的异常而言,您应该尽可能具体地处理异常:

try {
} catch (FileNotFoundException fnfe){
} catch (IOException ioe){
} catch (Exception e){
}

当你抛出异常时,你几乎不应该使用throw new Exception()。抛出一个异常,可以为看到它的人提供有关抛出该异常时发生的情况的更多信息。 (即 IndexOutOfBoundsNullPointerExceptions。它们甚至无需查看消息或堆栈跟踪即可提供特定信息。)

如果您想抛出异常,并且您认为 Java API 没有适合您情况的异常,那么最好对异常进行子类化或扩展,并为其指定一个信息丰富的名称。

关于java - SCJP 考试 : Handle Exceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1140048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com