我使用以下代码成功 实施 自定义例外
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()
感谢您帮助..!
答案 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()