如何在php中处理HTTPErrorException

如何在php中处理HTTPErrorException,php,zend-framework,exception,exception-handling,Php,Zend Framework,Exception,Exception Handling,我对一个问题感到困惑。我在函数中为未经授权的用户抛出了一个异常。当我调用此函数时,它显示*致命错误:未捕获异常“HTTPErrorException”* 我的代码是 throw new HTTPErrorException ( 'You are not allowed to access this method.', 401 ); 如何捕获此异常,以便显示一些CSS,而不是正在提交的堆栈跟踪。错误代码显示您尚未捕获异常,因此它将抛出此错误每个异常都应该被代码捕获 try { ....

我对一个问题感到困惑。我在函数中为未经授权的用户抛出了一个异常。当我调用此函数时,它显示*致命错误:未捕获异常“HTTPErrorException”* 我的代码是

throw new HTTPErrorException ( 'You are not allowed to access this method.', 401 );

如何捕获此异常,以便显示一些CSS,而不是正在提交的堆栈跟踪。错误代码显示您尚未捕获异常,因此它将抛出此错误每个异常都应该被代码捕获

try {
  ....
  throw new HTTPErrorException ( 'You are not allowed to access this method.', 401 );
  ....
} catch (HTTPErrorException $e) {
  // generate a stack trace here and show it to user
  // you can use $e->getTraceAsString() or $e->getTrace() functions here to get stack trace
}
或者,如果不想使用try/catch块,则可以创建一个异常处理程序函数,只要应用程序没有在任何地方捕获异常,就会调用该函数

function exception_handler($exception) {
  echo "Custom Exception: " , $exception->getMessage(), "\n";
}

set_exception_handler('exception_handler');
检查有关异常的更多信息