Java自定义异常

时间:2016-11-26 08:58:07

标签: java exception exception-handling

我使用以下代码成功 实施 自定义例外

CarNotFoundException.Java

 public class CarNotFoundException extends Exception 
       {        
            private static final long serialVersionUID = 1L;

            public CarNotFoundException(String msg) {
                super(msg);
            }
        }

Car.Java

public static CarProvider getInstanceByProvider(String provider) throws CarNotFoundException {
        if(!provider.equals(Constants.BMW || Constants.B||Constants.C{ 
            throw new CarNotFoundException("Car Not Found");
            }   
        return carProvider;
    }

CarTest.java

        try 
        {
          carProvider = Car.getInstanceByProvider(provider);    
        } catch (CarNotFoundException e) {
            e.printstacktrace();
        }

我想做什么?

当我拨打e.printStackTrace();时,

而不是e.getMessage(), 我什么都没得到(空白)。

如何制作自定义e.getMessage()

修改:我得到了答案,我错过了System.out.println()

感谢您帮助..!

2 个答案:

答案 0 :(得分:1)

覆盖自定义异常

中的getMessage()方法
public class CarNotFoundException extends Exception 
{        
     private static final long serialVersionUID = 1L;

     public String message;

     public CarNotFoundException(String msg) {
         this.message = msg;
     }

  // Overrides Exception's getMessage()
     @Override
     public String getMessage(){
         return message;
     }
 }

答案 1 :(得分:0)

您错过了异常类中的getMessage方法。您需要一个get方法来打印并为您提供

修改
  像这样:

  public String getMessage() {
            String var1 = super.getMessage();
       }

super.getMessage()是Throwable类中的getMessage()