ホームページ > バックエンド開発 > PHPチュートリアル > PHP例外をキャッチして特別な処理を実行する

PHP例外をキャッチして特別な処理を実行する

WBOY
リリース: 2016-06-23 13:19:38
オリジナル
937 人が閲覧しました

1.php エラー キャプチャ: try{} catch(Exception $e) { echo $e->getMessage();} この文の形式は、エラーのデバッグと制御に非常に役立ちます。

 <?php  class   test  {   static  public function  atest($val) {    if($val>1) throw new Exception("Parms greater than 1");    if($val<1&&$val>0) throw new Exception("error");     echo  $val;   }  }  try  {    $val = 0.5;   test::atest($val);  }  catch (Exception  $e) {  exit(json_encode(array("err_code"=>"500","err_msg"=>$e->getMessage())));  }?>
ログイン後にコピー

利点: 主にシステムレベルのエラーをキャプチャするために使用されます (ビジネス ロジック レベルのエラーは通常、キャプチャする必要はありません)。したがって、メソッド汚染を回避します
ps: キャプチャできる情報には、ファイルを取得するための getFile() が含まれますgetLine() でエラーを取得します。 Line getMessage() で挿入されたエラー メッセージを取得します。フレームワーク メカニズムでは、一般にキャプチャ メカニズムを提供する必要があります
2. try{}catch(Exception $e){} 文パターンを使用しない場合は
PHP には set_Exception_handler() を記述する簡略化された方法が用意されています

<?php   function   test1($e) {  echo   $e->getMessage();}set_exception_handler('test1');throw new Exception("test");?>
ログイン後にコピー

3. 別のエラー メッセージ 関数 (set_Exception_handler() と同様の使用法)

<?phpfunction  test() {echo  " XPHP notice error";}set_error_handler("test");test?>
ログイン後にコピー

このコードはエラーを報告しますエラーが発生したときに実行する関数を指定します。
error_types オプション。ユーザー定義エラーをどのエラー報告レベルで表示するかを指定します。デフォルトは「E_ALL」です。
4. もう 1 つの一般的に使用されるフレームワーク関数
register_shutdown_function('endRecord');
スクリプトの完了後に記録する必要があるアクション

<?phpfunction  endRecord() {echo   "PHP Script End";}register_shutdown_function('endRecord');?>
ログイン後にコピー



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート