我必须编写自己的异常吗? - Java

Do I have to write my own Exceptions? - Java

我目前正在 Java 学习编程。

我经常遇到我想妥善处理的异常。关于这一点,我问自己,当我想抛出一个有效的异常时,是否必须创建自己的异常。

我知道 API 中已经有很多我可以使用的 Java-例外情况(显然很少会遇到我想要表达的确切情况)。

我可以想象这是正常的,但创建一个自己的异常对我来说似乎真的很昂贵,因为它带来的结果。

这在编程中通常是如何完成的?为每个案例创建异常是否正常?

非常感谢!

异常用于帮助您查看程序中哪里发生了错误。有时您可能希望自定义异常以向最终用户显示一条消息,说明出现了意外情况。

例如,如果用户在文本字段中输入信息,而他们在邮政编码字段中输入的是字母而不是数字,则可能是您决定向他们显示一条消息并允许他们重试。

创建自定义例外非常容易。所有异常都是 Exception class 的子 classes,因此您需要做的就是在 CustomException class.

中扩展 Exception

归根结底 -- 您对所有内容都有例外的设计决定是什么。如果你能为他们提出一个有效的论据,那就去吧。

这完全取决于您希望用户端看到什么。您绝对不希望最终用户看到未使用 try and catch 包装的函数抛出的异常。这可能只是抛出堆栈错误并停止应用程序。您应该将方法包装在 try 和 catch 中。

我通常做的是,建立一个包含错误的 XML 文件,并根据匹配显示一个友好的错误,也就是说,如果用户不够高级,无法理解这些错误,大多数时候都是这样。

它在 Java 中得到了很好的支持并且相当容易实现。与了解发生的意外情况的好处相比,成本是微不足道的。

创建一个 class 扩展异常 class。

public class SampleException extends Exception{

  private String message;

  public SampleException() {
  }

  public SampleException(String message) {
    this.message = message;
  }

  public String getMessage() {
    return this.message;
  }
}

抛出自定义异常:

throw new SampleException("Something happen!!!")