我有这个代码:
public class ExceptionFather extends Exception {}
public class ExceptionSon extends ExceptionFather {
String someMessage;
public ExceptionSon () {
super(someMessage);
}
}
我的目标是子异常将有自己的固定消息,该消息将自动传递,并且我不必每次抛出它时都在构造函数中写入消息。
问题是,这给了我一个语法错误,指出我必须有一个将消息作为其参数的构造函数。
最佳答案
您必须在 ExceptionFather
类中定义采用 String
参数的构造函数:
class ExceptionFather extends Exception {
public ExceptionFather(String message) {
super(message);
}
}
之后,您将能够在子类ExceptionSon
中编写super(yourString)
。 yourString
不能是子实例变量,因为在调用父类(super class)型构造函数之前无法访问它。但在这种情况下,您可以使用静态(类)变量或 String
文字:
class ExceptionSon extends ExceptionFather {
private static String message = "message";
public ExceptionSon() {
super(message); // or just "message"
}
}
关于java - 将异常消息传递给父类,而不使用 throw new exception(); 构造 , 消息;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839955/