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

关于Java自定义异常类。定义MyException继承Exception。当我在main方法里调用e.toString()时,为什么在有异常的时候输出了我在子类构造方法... 关于Java自定义异常类。定义MyException继承Exception。当我在main方法里调用e.toString()时,为什么在有异常的时候输出了我在子类构造方法初始化的那句话?(没有必要在子类里对toString进行重写吗?) 展开
 我来答
distancelife
2017-04-30 · TA获得超过228个赞
知道小有建树答主
回答量:139
采纳率:40%
帮助的人:32.4万
展开全部
你继承了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;
}
你当然可以重写的啊,如果你觉得这个方法不能满足你的话,如果够用为什么还要重写
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式