PHP는 웹 개발에 널리 사용되는 인기있는 서버 측 스크립팅 언어입니다. 오류 처리는 개발 프로세스의 중요한 부분입니다. PHP 8은 오류 처리를보다 강력하고 유연하게 만들기 위해 많은 개선 사항을 도입합니다. 이 기사는 특정 코드 예제를 사용하여 PHP 8의 오류 처리 메커니즘을 깊이 이해하는 데 도움이됩니다.
PHP 8의 오류 처리 메커니즘에는 주로 오류보고 수준, 오류 억제 연산자, 예외 처리 및 사용자 정의 오류 처리기가 포함됩니다.
오류보고 수준은 PHP가 오류를보고하고 처리하는 방법을 결정합니다. php.ini의 error_reporting 설정을 통해 e_all, e_error, e_warning 및 e_notice와 같은 다른 레벨을 지정하거나 코드에서 Error_Reporting () 함수를 호출 할 수 있습니다. 이러한 레벨에 대한 친숙 함은 디버깅 및 처리 오류에 필수적입니다.
오류 억제 연산자 (@)는 특정 코드에서 오류 표시를 억제하는 데 사용됩니다. 편리하지만 남용은 문제를 다루고 디버깅 효율에 영향을 미칩니다.
예외 처리는 객체 지향적 접근 방식을 채택합니다. 프로그램에서 예외가 발생하면 Try-Catch 문을 통해 예외 객체를 버리고 캡처하고 처리하여 오류 정보의 계층 적 전송을 실현하고 오류 관리 능력을 향상시킬 수 있습니다.
사용자 정의 오류 처리기를 사용하면 기본 메커니즘 대신에 독점 오류 처리 기능을 정의 할 수 있으므로 오류 처리 동작이 응용 프로그램 요구 사항에 맞게됩니다.
<?php error_reporting(E_ALL); <p>echo $ undefinedvariable; // 주목 : 정의되지 않은 변수 : undefinedVariable<br> '존재하지 않는 file.php'; // 경고 : include (none Existent-File.php) : 스트림을 열지 못했습니다<br> ?>
위의 코드는 오류 보고서를 E_all로 설정하여 의도적으로 정의되지 않은 변수와 존재하지 않는 파일이 포함 된 오류를 트리거하여 전체 오류 출력을 관찰합니다.
<?php class CustomException extends Exception {} <p>기능 test () {<br> 새로운 customexception을 던지십시오 ( "이것은 사용자 정의 예외");<br> }</p> <p>노력하다 {<br> 시험();<br> } catch (customexception $ e) {<br> 에코 "예외 :". $ e-> getMessage ();<br> }<br> ?>
customexception 클래스가 정의되고 함수에 예외가 발생됩니다. 예외 메커니즘의 적용은 Try-Catch 캡처 및 처리를 통해 입증됩니다.
<?php function customErrorHandler($errNo, $errMsg, $errFile, $errLine) { echo "Custom error handler: $errMsg in $errFile on line $errLine"; } <p>set_error_handler ( "CustomerRorhandler");</p> <p>echo $ undefinedvariable; // 사용자 정의 오류 핸들러 : 정의 변수 : test.php on 8 라인 8에서 undefinedVariable<br> ?>
사용자 정의 오류 처리 기능을 등록한 후 기본 오류 처리 동작을 대체하기 위해 오류 메시지가 형식화되고 출력됩니다.
오류 처리는 PHP 개발에 없어서는 안될 부분입니다. PHP 8 오류보고 수준, 예외 처리 및 사용자 정의 오류 처리기를 마스터하고 실제 코드 실습을 결합하면 코드의 견고성 및 유지 보수를 개선 할 수 있습니다. 연습은 이해를 심화시키는 가장 좋은 방법입니다. 개발자들은 이러한 메커니즘을 더 많이 실험하고 점차적으로 익히고 유연하게 사용하는 것이 좋습니다.