开发者社区 问答 正文

为什么在我的super()调用周围不能使用try块?

因此,在Java中,构造函数的第一行必须是对super的调用...是隐式调用super()还是显式调用另一个构造函数。我想知道的是,为什么我不能对此进行尝试?

我的具体情况是我有一个模拟类进行测试。没有默认的构造函数,但是我希望它使测试更易于阅读。我还想将构造函数抛出的异常包装到RuntimeException中。

展开
收起
游客ufivfoddcd53c 2020-01-03 16:30:19 895 分享 版权
1 条回答
写回答
取消 提交回答
  • 这样做是为了防止某人SecurityManager从不受信任的代码创建新对象。

    public class Evil : SecurityManager {
      Evil()
      {
          try {
             super();
          } catch { Throwable t }
          {
          }
       }
    }
    
    2020-01-03 16:30:38
    赞同 展开评论
问答分类:
问答地址: