PHP- 예외 처리 Exception 및 오류 로그 처리

1544 단어
1、수동으로 이상을 던지고 이상을 포착
<?php 
try{
	throw new Exception("Error Processing Request", 1);
}
catch(Exception $e){
	echo $e->getMessage();
}

2, 순환 인쇄, 이상 추적
<?php 
class  MyCustomException  extends  Exception  {}

function  doStuff () {
    try {
        throw new  InvalidArgumentException ( "You are doing it wrong!" ,  112 );
    } catch( Exception $e ) {
        throw new  MyCustomException ( "Something happend" ,  911 ,  $e );
    }
}

try {
     doStuff ();
} catch( Exception $e ) {
    do {
         printf ( "%s:%d %s (%d) [%s]
" , $e -> getFile (), $e -> getLine (), $e -> getMessage (), $e -> getCode (), get_class ( $e )); } while( $e = $e -> getPrevious ()); } ?>

결과:
D:\WEB\MyTest\index.php:8 Something happend (911) [MyCustomException] D:\WEB\MyTest\index.php:6 You are doing it wrong! (112) [InvalidArgumentException]
3. 오류 로그 처리
  • debug_print_backtrace () 는 함수 호출의 전체 과정 정보를 출력할 수 있습니다
  • error_get_last () 오류의 상세한 상황, 오류 형식, 오류 내용, 오류 파일, 오류 줄 번호를 가져옵니다
  • error_log () 파일에 로그를 인쇄합니다
  • error_reporting () php 시스템이 오류를 보고한 단계입니다
  • set_error_handler();restore_error_handler();자신의 오류 처리 함수를 호출하는 데 사용됩니다
  • set_exception_handler();restore_exception_handler();자신의 이상 처리 함수를 호출하는 데 사용됩니다
  • trigger_error() | user_error () 에서 직접 오류를 발생시킵니다. set_error_handler가 오류를 받아들입니다
  • PHP_EOL에서 php 오류를 가져올 수 있습니다
  • 좋은 웹페이지 즐겨찾기