#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューターPHP では、例外処理クラス「Exception」のさまざまな組み込みメンバー関数を使用して、例外データを取得および返すことができます。たとえば、getMessage() 関数は例外メッセージの内容を返すことができます。また、「try catch」ステートメントと「throw」キーワードを使用して、プログラム内の例外をキャッチします。
PHP の例外処理クラス
PHP には、組み込み例外処理クラス Exception が用意されています。このクラスでよく使用されるメンバー関数は次のとおりです: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 中国語 Web サイトの他の関連記事を参照してください。