如何在Java中定义自定义异常类,最简单的方法是什么?

如何在Java中定义自定义异常类,最简单的方法是什么?

我正在尝试以最简单的方式定义自己的异常类,这就是我得到的:

public class MyException extends Exception {}public class Foo {
  public bar() throws MyException {
    throw new MyException("try again please");
  }}

这就是Java编译器所说的:

cannot find symbol: constructor MyException(java.lang.String)

我有一种感觉,这个构造函数必须继承自己java.lang.Exception,不是吗?


胡说叔叔
浏览 1189回答 3
3回答

素胚勾勒不出你

不,您不“继承”非默认构造函数,您需要定义在类中使用String的那个。通常,您super(message)在构造函数中使用它来调用父构造函数。例如,像这样:public class MyException extends Exception {     public MyException(String message) {         super(message);     }}

慕盖茨4494581

package customExceptions;public class MyException extends Exception{     public MyException(String exc)     {         super(exc);     }     public String getMessage()     {         return super.getMessage();     }}import customExceptions.MyException;public class UseCustomException {     MyException newExc=new MyException("This is a custom exception");     public UseCustomException() throws MyException     {         System.out.println("Hello Back Again with custom exception");         throw newExc;       }     public static void main(String args[])     {         try         {             UseCustomException use=new UseCustomException();         }         catch(MyException myEx)         {             System.out.println("This is my custom exception:" + myEx.getMessage());         }     }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java