作为程序员一定要保持良好的睡眠,才能好编程

根据开发环境exception报不同的异常

发布时间:2019-04-21


此方法可以放在钩子里

判断在不同的环境下,设置不同的内容显示


/**
 * 默认异常处理
 */
 
  $old_exception = set_exception_handler(NULL);

  set_exception_handler(function ($exception) use ($old_exception) {
    if ($exception instanceof qb_Exception) {
      $error = load_class('Exceptions', 'core');

      $error->exception = $exception;
      $error->log_exception('error', 'Exception: ' . $exception->getMessage(), $exception->getFile(),
        $exception->getLine());

      if (ENVIRONMENT === 'development' || $exception->getCode() != API_FAILURE) {

        if (ENVIRONMENT === 'development') {
          $message = $exception->getMessage() . PHP_EOL . PHP_EOL . $exception->getFile() . ' [' . $exception->getLine() . ']';
        }
        else {
          $message = StatusCode::get_code_message($exception->getCode());
        }

        showError($message, $exception->getCode());
      }
      else {
        showError();
      }
    }

    $old_exception && $old_exception($exception);
  });