为了账号安全,请及时绑定邮箱和手机立即绑定

为什么需要调用父类含参的构造方法?super(message)?

super(message)

在自定义异常时,为什么需要调用父类含参的构造方法,默认调用父类无参的构造方法不行吗?


当有异常时,传进来的信息,应该是直接给自定义异常类的信息,并没有给父类啊?

正在回答

3 回答

针对你的问题,你有没有发现e.printStackTrace()打印出来的异常信息里有你传进去的message,然而你的自定义异常类里面也没有写printSackTrace()这个方法。这是因为你自定义的类继承了父类Exception 的成员方法和成员变量,虽然你没有重写但是实际存在,所存在一个我没有看父类Exception具体内容,但是我认为肯定存在一个成员变量并且在printSackTrace()方法中被使用,虽然我没有去看Exception类的有参构造函数是什么,但我猜测其内容 大概就是 this.m  = m;一类的。如果你想知道为什么,去看看继承跟Exception类的内容

0 回复 有任何疑惑可以回复我~

哥,你知道了吗?我也想问

0 回复 有任何疑惑可以回复我~

自定义异常时,可能要写一些特定的内容,比如特定的提示信息,这些特定的内容需要在调用自定义异常时,可以通过这个含参的构造方法传进去吧。

就是给自定义异了,没有给父类,自定义会用继承父类的方法或者自己特有的方法处理吧。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么需要调用父类含参的构造方法?super(message)?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信