课程
/后端开发
/Java
/Java入门第三季
super(message)
在自定义异常时,为什么需要调用父类含参的构造方法,默认调用父类无参的构造方法不行吗?
当有异常时,传进来的信息,应该是直接给自定义异常类的信息,并没有给父类啊?
2017-01-01
源自:Java入门第三季 1-5
正在回答
针对你的问题,你有没有发现e.printStackTrace()打印出来的异常信息里有你传进去的message,然而你的自定义异常类里面也没有写printSackTrace()这个方法。这是因为你自定义的类继承了父类Exception 的成员方法和成员变量,虽然你没有重写但是实际存在,所存在一个我没有看父类Exception具体内容,但是我认为肯定存在一个成员变量并且在printSackTrace()方法中被使用,虽然我没有去看Exception类的有参构造函数是什么,但我猜测其内容 大概就是 this.m = m;一类的。如果你想知道为什么,去看看继承跟Exception类的内容
哥,你知道了吗?我也想问
自定义异常时,可能要写一些特定的内容,比如特定的提示信息,这些特定的内容需要在调用自定义异常时,可以通过这个含参的构造方法传进去吧。
就是给自定义异了,没有给父类,自定义会用继承父类的方法或者自己特有的方法处理吧。
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
1 回答子类不能调用父类含参构造器方法么,擦,前面讲的又忘了,
4 回答为什么不用 无参构造方法 只用了有参构造方法?
2 回答为什么用父类的含参的方法会报错呢?
3 回答为什么要super(message);
1 回答关于private类型和含参构造方法,求解答