问答详情
源自:1-5 Java 中的异常抛出以及自定义异常

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

super(message)

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


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

提问者:慕粉2220415365 2017-01-01 15:48

个回答

  • qq_Takeiteasy_2
    2018-12-23 18:17:43

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

  • ffs555
    2017-03-03 01:06:36

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

  • 慕粉13161197298
    2017-01-01 20:10:19

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

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