이 기사에서는 PHP의 오류 처리 및 구현을 소개합니다. 필요하면 친구에게 참고할 수 있습니다.
1.php에서 오류, 경고 및 예외 처리를 구현하는 방법은 무엇입니까? 함수는 해당 오류를 처리하는 데 사용됩니다.
php 예외 프롬프트는 오류/경고/알림의 세 가지 범주로 나뉩니다.
오류 보충:
Fatal Error: 치명적인 오류(스크립트 작업 종료)
E_ERROR // Fatal running error, the 오류는 복구할 수 없으며 스크립트 실행이 일시 중지됩니다.
E_CORE_ERROR // PHP 시작 초기화 프로세스 중 치명적인 오류
E_COMPILE_ERROR // Zend 스크립트 엔진에서 생성된 E_ERROR와 마찬가지로 컴파일 중 치명적인 오류
E_USER_ERROR // 사용자 정의 오류 메시지 . PHP 함수를 사용하는 것과 같습니다. 잠재적으로 위험한 오류가 발생했지만 PHP 엔진이 불안정해지지는 않았음을 나타냅니다.
구문 분석 오류: 컴파일 중 구문 분석 오류, 구문 오류(스크립트 실행 종료)
E_PARSE // 컴파일 중 구문 구문 분석 오류
경고 보충: 경고 오류(프롬프트 정보만 제공되며 스크립트 실행이 종료되지 않음)
E_WARNING // 런타임 경고(치명적이지 않은 오류).
E_CORE_WARNING // PHP 초기화 시작 중에 발생한 경고(치명적이지 않은 오류)입니다.
E_COMPILE_WARNING // 컴파일 경고
E_USER_WARNING // 사용자 생성 경고 정보
예외 알림 보충: 알림 오류(알림 정보만 제공되며 스크립트는 작업을 종료하지 않음)
E_NOTICE // 런타임 알림. 스크립트에서 오류로 나타날 수 있는 상황이 발생했음을 나타냅니다. E_USER_NOTICE // 사용자가 생성한 알림 정보입니다.
php 오류 처리 구현:
register_shutdown_function('funcName') // 매개변수는 오류를 캡처해야 하는 함수의 이름이지만, Register_shutdown_function은 런타임 중에 치명적인 오류만 캡처할 수 있지만 해석 중에는 실행 오류를 캡처할 수 없습니다. , 프로그램 실행이 완료된 후 실행되는 함수(구문 오류, 런타임 중에 발생할 오류 등은 캡처되지 않습니다)
set_error_handler('funcName') //파라미터는 필요한 콜백의 함수 이름입니다. 이는 Register_shutdown_function과 달리 함수 실행 중에 오류를 캡처합니다
대상 파일이 실행 중에 오류를 발견하면 시스템은 지정된 함수를 콜백합니다.
예:
<?php register_shutdown_function( "fatal_handler" ); set_error_handler("error_handler"); define('E_FATAL', E_ERROR | E_USER_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_RECOVERABLE_ERROR| E_PARSE ); //获取fatal error function fatal_handler() { $error = error_get_last(); if($error && ($error["type"]===($error["type"] & E_FATAL))) { $errno = $error["type"]; // $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; error_handler($errno,$errstr,$errfile,$errline); } } //获取所有的error function error_handler($errno,$errstr,$errfile,$errline){ $str=<<<EOF "errno":$errno "errstr":$errstr "errfile":$errfile "errline":$errline EOF; //获取到错误可以自己处理,比如记Log、报警等等 echo $str; } //error_get_last() 捕获到的执行错误结果 //error_clear_last() 清除最后一次产生的错误信息 //上面两者可以捕获所有错误,警告, 异常,但作性能考虑,不建议使用其捕获警告异常
관련 권장사항:
PHP 오류 처리, 자동 로딩, 스택 메모리 및 실행 모드에 대한 간략한 분석
PHP 오류 및 예외 디버깅 비디오 튜토리얼 리소스 공유
위 내용은 PHP 오류 처리 및 구현 - CSDN 블로그의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!