使用异常的情况,用户是否应该能够触发异常?

0 exception-handling

使用异常来处理用户生成的错误是否可接受或明智?如 ...

    try
    {
        $job->authorise($user);
    }
    catch (InsufficentCreditException $e)
    {
        return E_INSUFFICIENT_CREDIT;
    }
    catch (PermissionDeniedException $e)
    {
        return E_PERMISSION_DENIED;
    }
Run Code Online (Sandbox Code Playgroud)

或仅为更严重的错误保留的例外(如找不到文件,除零)?

Mit*_*eat 6

糟糕的用户输入绝不是例外.这是常态!

说真的.例外情况适用于特殊情况,来自外部源的错误/不正确数据通常不例外.