이전 글에서는 "PHP에서 이미지 워터마크를 추가하는 방법을 이해해야 합니다"를 가져왔는데, 예제를 통해 PHP에서 워터마크를 추가하는 방법을 자세히 소개했습니다. PHP의 오류 처리에 대한 지식이 도움이 되기를 바랍니다!
PHP의 오류 및 예외 처리는 PHP에서 매우 일반적으로 사용됩니다. 일상적인 개발에서 세미콜론 추가를 잊어버리거나, 잘못된 함수 이름을 작성하거나, 함수가 재정의되는 등의 문제를 확실히 접하게 됩니다. .. 오류가 많은데, 개발 과정에서 오류를 발견하고 표시해 준다면 분명 우리 개발에 큰 도움이 될 것입니다.
그러므로 프로젝트를 개발할 때 프로세스를 올바르게 사용하면 오류를 찾아 수정하여 개발 속도를 높이는 데 도움이 됩니다. 그런 다음 오류 처리를 이해하는 방법을 살펴보겠습니다. 무료 "php 오류 처리" 교육 영상을 통해서도 학습하실 수 있습니다.
PHP의 예외 처리 클래스
PHP는 Exception
이라는 내장 예외 처리 클래스를 제공합니다. 이 클래스에는 예외 처리를 위한 몇 가지 함수가 포함되어 있습니다. 잡힐 수 있습니다. Exception
,这个类包含了一些处理异常的函数,这些函数可以捕获程序异常和错误。
那下面列举出该类中较为常用的函数:
getTraceAsString()
:返回已格式化成字符串的、由函数 getTrace() 函数所产生的信息
__toString()
:产生异常的字符串信息,它可以重载。注意,该函数最前部是两个下划线
getMessage()
:返回异常的消息内容
getLine()
:返回发生错误的代码行号
getCode()
:以数字形式返回异常代码
getFile()
:返回发生异常的文件名
getTrace()
:返回 backtrace() 数组
捕获程序中的异常
程序中的异常出现一般不会自己显现出来,这时候我们可以通过try catch
语句和 throw
getTraceAsString()
: 형식화된 문자 반환 문자열 정보 getTrace() 함수에 의해 생성됨
__toString()
: 예외를 생성하는 문자열 정보로 오버로드될 수 있습니다. 이 함수 앞에 두 개의 밑줄이 있습니다getMessage()
: 비정상적인 메시지 내용을 반환합니다
getLine ()
: 오류가 발생한 코드 줄 번호를 반환
getCode()
: 예외 코드를 숫자 형식으로 반환
getFile()
: 예외가 발생한 파일 이름을 반환getTrace()
: backtrace() 배열을 반환 li>
프로그램 내 예외 포착
프로그램 내 예외는 일반적으로 저절로 나타나지 않습니다. 이때 try catch
문과 throw
키워드는 프로그램에서 예외를 포착하는 목적을 달성하기 위한 것입니다. try catch 문은 흐름 제어 문과 유사합니다. throw 키워드는 조건 선택과 유사한 구조를 통해 프로그램에서 예외를 포착할 수 있습니다. try catch 문의 구문 형식은 다음과 같습니다.
try{ // 可能出现异常或错误的代码,比如文件操作、数据库操作等 }catch(Exception $a){ // $a 为一个异常类的对象 // 输出错误信息 }
예제는 다음과 같습니다.
<?php try{ $err = '抛出异常信息,并跳出 try 语句块'; if(is_dir('./demo')){ echo '这里是一些可能会发生异常的代码'; }else{ throw new Exception($err, 20211020); // 抛出异常 } echo '上面抛出异常的话,这行代码将不会执行,转而执行 catch 中的代码。<br>'; }catch(Exception $e){ echo '捕获异常:'.$e->getMessage().'<br>错误代码:'.$e->getCode().'<br>'; } echo '继续执行 try catch 语句之外的代码'; ?>
위 예에서는 try 문을 사용하여 현재 디렉터리에 데모라는 디렉터리가 있는지 확인합니다. 존재하지 않으므로 throw 키워드가 실행되었습니다. 예외가 발견되어 발생한 후에는 try 문의 나머지 문이 실행되지 않습니다.
🎜🎜자신만의 예외 클래스 만들기🎜🎜🎜🎜🎜 PHP에서는 예외를 적극적으로 발생시키는 경우가 거의 없으므로 사전에 if-else를 사용하여 처리할 수 있습니다. . 가능한 예외를 판단하고 예외를 수동으로 발생시킵니다. PHP에서는 우리가 직접 만든 예외 클래스를 자주 사용할 수 있습니다. 🎜🎜🎜예는 다음과 같습니다. 🎜🎜<?php class emailException extends Exception{ function __toString(){ return "<b>email is null</b>file:".$this->getFile().',line:'. $this->getLine(); } } class nameException extends Exception{ } ?>
function reg($reg) { if (empty($reg['email'])) { throw new emailException("emaill is null", 1); } if(empty($reg['name'])) { throw new nameException("name is null", 2); } }
try{ $reg = array('phone'=>'1888888888'); reg($reg); } catch(emailException $e) { echo $e; } catch(nameException $e) { echo 'error msg:' .$e->getMessage().'error code:'.$e->getCode(); } finally { echo ' finally'; }
위 내용은 PHP의 예외 처리가 무엇인지 보여주는 5분의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!