gpt4 book ai didi

java - 用于权限异常的内置java异常类型

转载 作者:行者123 更新时间:2023-12-01 12:26:23 25 4
gpt4 key购买 nike

考虑到在有意义的地方,我们应该始终使用内置异常而不是定义我们自己的异常,即:

  • IllegalArgumentException - 当方法传递无效参数时抛出,即不允许为 null
  • IllegalStateException - 在不允许调用方法时抛出(即必须首先调用 setup()

  • 当您由于用户尝试读取或写入他们无权操作的资源而引发异常时,要引发的最佳异常类型是什么(如果有)。你会推荐使用 SecurityException 还是 AccessControlException ,或者这听起来没有意义。

    最佳答案

    在我看来,两者都不是。每个异常类都有一个用途,在这种情况下 SecurityExceptionSecurityManager(它是 JRE 的一部分)抛出的异常类,而 AccessControlExceptionSecurityException 的子类型。

    我认为当真正的原因是未授予应用程序定义的权限(与 SecurityException 强制执行的权限相反)时,抛出 SecurityManager 是不正确的(即使名称很漂亮)。

    您应该考虑到异常应该被预期能够知道如何处理它们的代码捕获。如果某些函数不知道如何“修复”异常,则应允许异常在堆栈中冒泡。任何处理 SecurityException 的代码肯定不知道如何处理应用程序引发的异常。

    关于java - 用于权限异常的内置java异常类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15101936/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com