在php中,可以利用異常處理類別「Exception」中內建的各種成員函數來取得並傳回異常數據,例如getMessage()函數就可以傳回異常的訊息內容;也可以透過「try catch」語句和「throw」關鍵字來捕捉程式中的例外。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
PHP 中的例外處理類別
PHP 中提供了內建的例外處理類別-Exception,該類別中常用的成員函數如下所示:
getMessage():傳回例外的訊息內容;
getCode():以數字形式傳回異常碼;
Exception { /* 属性 */ protected string $message ; protected int $code ; protected string $file ; protected int $line ; /* 方法 */ public __construct ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] ) final public getMessage ( void ) : string final public getPrevious ( void ) : Throwable final public getCode ( void ) : int final public getFile ( void ) : string final public getLine ( void ) : int final public getTrace ( void ) : array final public getTraceAsString ( void ) : string public __toString ( void ) : string final private __clone ( void ) : void }
擷取程式中的例外
在 PHP 中想要擷取程式中的例外,需要使用 try catch 語句和 throw 關鍵字來實作。 try catch 語句和流程控制語句類似,所以可以透過 try catch 語句來實作一種另類的條件選擇結構,而 throw 關鍵字可以拋出一個例外。 try catch 語句的語法格式如下:try{ // 可能出现异常或错误的代码,比如文件操作、数据库操作等 }catch(Exception $e){ // $e 为一个异常类的对象 // 输出错误信息 }
<?php try{ $err = '抛出异常信息,并跳出 try 语句块'; if(is_dir('./test')){ echo '这里是一些可能会发生异常的代码'; }else{ throw new Exception($err, 12345); // 抛出异常 } echo '上面抛出异常的话,这行代码将不会执行,转而执行 catch 中的代码。<br>'; }catch(Exception $e){ echo '捕获异常:'.$e->getMessage().'<br>错误代码:'.$e->getCode().'<br>'; } echo '继续执行 try catch 语句之外的代码'; ?>
捕获异常:抛出异常信息,并跳出 try 语句块 错误代码:12345 继续执行 try catch 语句之外的代码
PHP影片教學》
以上是php怎麼進行錯誤和異常處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!