关于Java自定义异常类。定义MyException继承Exception。

关于Java自定义异常类。定义MyException继承Exception。当我在main方法里调用e.toString()时,为什么在有异常的时候输出了我在子类构造方法初始化的那句话?(没有必要在子类里对toString进行重写吗?)

你继承了Exception,所以也继承了Exception的toString方法啊,所以你使用的实际上是Exception的toString方法哦追问

不太理解为什么在子类MyException里的初始化构造方法里的字符串("除数不能为负数哦"这句话)能用在toString里而且能输出这句话??是因为toString方法的原型return了一个msg吗?
虽然我使用的是父类的toString方法,但不是可以重写吗?

追答

Exception继承Throwable你知道的吧,下面的是Throwable的toString方法,Exception没有重写这个方法,所以你用的toString方法实际上就是下面的方法,getLocalizedMessage实际上就是你传入的msg哦!!
public String toString() {
String s = getClass().getName();
String message = getLocalizedMessage();
return (message != null) ? (s + ": " + message) : s;
}
你当然可以重写的啊,如果你觉得这个方法不能满足你的话,如果够用为什么还要重写

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网