예외 처리(Exception)는 지정된 오류가 발생했을 때 스크립트의 정상적인 흐름을 변경하는 데 사용됩니다. 예외가 발생하면 다음 코드는 더 이상 실행되지 않으며 PHP는 일치하는 "catch" 코드 블록을 찾으려고 시도합니다.
Exception은 지정된 오류가 발생할 때 스크립트의 일반적인 흐름을 변경하는 데 사용됩니다.
예외의 기본 사용법
예외가 발생하면 후속 코드는 계속 실행되지 않으며 PHP는 일치하는 "catch" 코드 블록을 찾으려고 시도합니다.
Exception이 catch되지 않고 해당 처리에 set_Exception_handler()를 사용할 필요가 없으면 심각한 오류(치명적 오류)가 발생하고 "Uncaught Exception" 오류 메시지가 출력됩니다.
캐치하지 않고 예외를 던져 보겠습니다.
<?php //create function with an exception function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //trigger exception checkNum(2); ?>
위 코드에서는 다음과 같은 오류가 발생합니다.
Fatal error: Uncaught exception 'Exception' with message 'Value must be 1 or below' in C:\webfolder\test.php:6 Stack trace: #0 C:\webfolder\test.php(12): checkNum(28) #1 {main} thrown in C:\webfolder\test.php on line 6
Try, throw and catch
위의 예를 피하려면 오류가 발생하면, 예외를 처리하려면 적절한 코드를 만들어야 합니다.
올바른 핸들러에는 다음이 포함되어야 합니다.
Try - 예외를 사용하는 함수는 "try" 블록 내에 있어야 합니다. 예외가 트리거되지 않으면 코드는 평소대로 계속 실행됩니다. 그러나 예외가 트리거되면 예외가 발생합니다. Throw - 예외를 트리거하는 방법을 지정합니다. 각 "throw"는 최소한 하나의 "catch"Catch에 해당해야 합니다. "catch" 코드 블록은 예외를 포착하고 예외 정보가 포함된 객체를 생성합니다
예외를 트리거해 보겠습니다.
<?php //创建可抛出一个异常的函数 function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //在 "try" 代码块中触发异常 try { checkNum(2); //If the exception is thrown, this text will not be shown echo 'If you see this, the number is 1 or below'; } //捕获异常 catch(Exception $e) { echo 'Message: ' .$e->getMessage(); } ?>
위 코드는 오류를 발생시킵니다.
메시지: 값은 1 이하여야 합니다.
예제 설명:
위 코드는 예외를 발생시키고 이를 포착합니다.
checkNum() 함수를 만듭니다. 숫자가 1보다 큰지 여부를 감지합니다. 그렇다면 예외를 발생시킵니다. "try" 블록에서 checkNum() 함수를 호출합니다. checkNum() 함수에서 예외가 발생합니다. "catch" 코드 블록은 예외를 수신하고 예외 정보가 포함된 객체($e)를 생성합니다. 이 예외 객체에서 $e->getMessage()를 호출하면 예외로 인한 오류 메시지가 출력됩니다. 그러나 "각 throw는 catch에 대응해야 합니다"라는 원칙을 따르기 위해 최상위 예외 핸들러는 다음을 수행할 수 있습니다. 누락된 오류를 처리하도록 설정해야 합니다.
추천 튜토리얼: "
php 튜토리얼위 내용은 PHP 예외 처리의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!