PHP exception handling notes

<?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();

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325298221&siteId=291194637