0

为什么这不会用 try catch 或 throw from mathod 大喊?

import java.security.Permission;

public class NewSecurityManager extends SecurityManager{

    public void checkPermission(Permission perm) {
        throw new SecurityException("You are drunk. Please go home!");
    }

}
4

2 回答 2

3

SecurityManager extendsRuntimeException导致它是一个未经检查的异常。未经检查的异常不需要封闭try/catch块或从包含方法重新抛出异常。

于 2013-08-15T12:27:14.177 回答
3
java.lang.Object
  java.lang.Throwable
      java.lang.Exception
          java.lang.RuntimeException
              java.lang.SecurityException

正如您在上面看到的 SecurityException 是 RuntimeException 的孩子,因此您不需要任何 throw 子句。只有检查的异常被强制处理,而不是未经检查的(运行时)

于 2013-08-15T12:27:40.103 回答