java:super必须首先在构造函数中

时间:2019-02-26 14:19:09

标签: java try-catch super

我知道这已经被问过了,但是他们的情况与我的情况大不相同。

class Derived extends Base {
    public Derived()
    {
        try {
           super();
        } catch (Exception e) {
            ....
        }
    }
}

问题是如何解决必须首先处理super的问题-我需要将其包装在try / except块中并且无法编译。

先前的答案都没有涉及try / except的问题,因此请不要告诉我这个问题已经得到答案。

2 个答案:

答案 0 :(得分:5)

您根本无法做到这一点,使构造函数引发异常并将其捕获到外部。

答案 1 :(得分:1)

如果可以尝试使用合成。使Derived具有Base类型的字段(而不是扩展它的字段),并将对Base的构造函数的调用包装在Derived的构造函数内部的try-catch块中