我似乎找不到解决此问题的方法。我有一个叫做CardException的类,它扩展了Exception。它唯一的代码是:
public class CardException extends Exception{
String erro;
public CartaoException(String erro){
this.erro = erro;
}
}
现在,我有了另一个带有方法的类,如果条件为false,我想在其中抛出异常:
public void changePin(int pin, int newPin){
try{
if(pin == getPin()){
setPin(newPin);
}
} catch (CardException e){
System.out.println(e.getMessage());
}
}
但是我在“ catch(CardException e)”时遇到错误,说:“ CardException无法到达的catch块。永远不会从try语句主体中抛出此异常”,我也不知道为什么。
重点是创建一个名为CardException的Exception类型的类,该类的构造函数将接收错误消息作为参数。然后,在另一个类上,我需要创建一个方法changePin,该方法将接收旧的引脚和新的引脚,并且,如果旧的引脚与已保存的引脚不匹配,则必须抛出一条异常并显示一条消息:“无效销”。
Java编译器足够智能,可以确定try
块内的语句是否易于检查异常。由于您的代码try
块中没有语句似乎引起CardException
,因此编译器会抱怨。
仅出于测试目的,如果将throws
子句添加CardException
到您的getPin
/setPin
方法中的任何一个中,则编译器将不会抱怨,因为这些方法可以在catch
块中引发异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句