<?php header("Content-type:text/html;charset=utf-8"); // try // { // // Throws an exception when the business is processing an error. // $age = 130; // if ($age > 120) { // throw new Exception('Age cannot be greater than 120.', 1001); // } // } catch (Exception $e) { // $err = [ // 'code' => $e->getCode(), // 'msg' => $e->getMessage(), // 'file' => $e->getFile(), // 'line' => $e->getLine() // ]; // echo json_encode($err,JSON_UNESCAPED_UNICODE); // } /** * Custom exception handling */ // class myException extends Exception // { // //According to business needs, customize the method // /** // * Get error message // * @param int $type type 1=json 2=array // * @return array // */ // public function getErrorInfo($type=1) // { // $err = [ // 'code'=>$this->getCode(), // 'msg'=>$this->getMessage(), // 'file'=>$this->getFile(), // 'line'=>$this->getLine() // ]; // if($type==1){ // return json_encode($err,JSON_UNESCAPED_UNICODE); // exit(); // } // return $err;exit(); // } // } // try{ // $age = '130'; // if($age>120){ // throw new myException("Age cannot be greater than 120.", 1001); // } // }catch(myException $e){ // $info = $e->getErrorInfo(1); // var_dump ($ info); // }catch(Exception $e){ // var_dump($e->getMessage); // } // disable error output error_reporting (0 ); // set error handler set_error_handler ('errorHandler' ); // function to run at script end register_shutdown_function ('fatalErrorHandler' ); /** * Error handling * @param int $err_no error code * @param string $err_msg error message * @param string $err_file error file * @param int $err_line error line number * @return string */ function errorHandler($err_no = 0, $err_msg = '', $err_file = '', $err_line = 0) { // $log = [ // '['.date('Y-m-d h-i-s').']', // '|', // $err_no, // '|', // $err_msg, // '|', // $err_file, // '|', // $err_line // ]; var_dump($err_msg.' in '.$err_line); //echo implode(' ',$log)."<br>"; } /** * catch fatal errors * @return string */ function fatalErrorHandler() { $e = error_get_last(); switch ($e['type']) { case 1: errorHandler($e['type'], $e['message'], $e['file'], $e['line']); break; } } class DemoClass_1 { public function index() { // A warning error occurred here, start errorHandler $ee =['1'=>2 ]; echo $ee ; } } $demo_1 = new DemoClass_1(); // A warning error occurs here, which is caught by errorHandler $demo_1 -> index(); // A fatal error occurs, the script stops running and triggers fatalErrorHandler // $demo_2 = new DemoClass_2(); // $demo_2->index();