ホームページ  >  記事  >  バックエンド開発  >  PHPエラーの詳しい説明

PHPエラーの詳しい説明

WBOY
WBOYオリジナル
2016-06-13 13:23:35858ブラウズ

PHP例外の詳しい説明

PHP例外とは何ですか?

PHP 5 は、新しいオブジェクト指向のエラー処理メソッドを提供します。例外処理は、指定されたエラー (例外) 条件が発生したときにスクリプトの通常のフローを変更するために使用されます。この状況を例外と呼びます。

一般的な使用法:

<?php
function test() {
	throw new Exception("异常啦");
}
try {
     test();
} catch (Exception $e) {
 echo $e->getMessage();
}
  1. throw new Exception('XXX'): 例外をスローします。
  2. try: 例外を使用する関数は、「try」コード ブロック内に配置する必要があります。例外がトリガーされない場合、コードは通常どおり実行を続行します。ただし、例外がトリガーされると、例外がスローされます。
  3. キャッチ: コード ブロックは例外をキャッチし、例外情報を含むオブジェクトを作成します

カスタム例外クラス:

class myException extends Exception {
 public function errorMessage() {
  	$errorMsg = 'Error on line '.$this->getLine().' in '.$this->getFile()
  .': <b>'.$this->getMessage().'</b> is not a valid E-Mail address';
  	return $errorMsg;
  }
}


try {
  throw new myException($email);
}catch (myException $e){
 echo $e->errorMessage();
}
  1. myException クラスは、Exception を継承する必要があるカスタム例外クラスです。
  2. Exception は、PHP に付属する組み込み例外クラスです。デフォルトでは、PHP のデフォルト組み込み例外クラスが使用されます。カスタマイズされたメソッドを渡すには、独自のニーズに合わせて例外クラスをカスタマイズします。
  3. カスタム例外クラスを使用する場合、throw new myException はカスタム例外クラス名もスローする必要があります
  4. キャッチする場合は、カスタム例外クラスもキャプチャする必要があります
  5. If例外がキャッチされずにスローされると、PHP コードで次のようなエラーが発生します:
Fatal error: Uncaught exception 'myException' in D:\AppServ\www\cctv\trunk\index.php:12 Stack trace: #0 {main} 
thrown in D:\AppServ\www\cctv\trunk\index.php on line 12


PHP デフォルト例外クラスの詳細:

class exception
{
    protected $message = 'Unknow exception'; //自定义的异常信息
    protected $code = 0; //定义的异常代码
    protected $file; //发生异常的PHP程序名
    protected $line; //发生异常的PHP行号
    //用于传递用户自定义异常信息和用户自定义异常代码的构造函数
    function __construct($message=null,$code=0);
    final function getMessage();
    final function getCode();
    final function getFile();
    final function getLine();
    final function getTrace(); //以数组形式返回异常传递的路线
    final function getTraceAsString(); //返回格式化成字符串的getTrace函数信息
    function __toString(); //可重载,用于返回可输出的字符串
}
  1. PHP のデフォルト例外クラスには多くのカスタム変数とメソッドがあることがわかります
  2. $e->getMessage は通常、エラー情報を取得するためのものです
  3. $e->getCode () 一般的にエラーコードを取得
  4. $e->getFile() 間違ったファイル情報を取得
  5. $e->getLine() エラー行数を取得
  6. $e- >getTrace() 例外
  7. __toString() によって渡されたファイル パスは、通常、出力文字列
を返すようにオーバーロードできます。

PHP 例外クラスの役割:

  1. 例外をキャッチします。通常、MYSQL 接続に接続できない場合、またはビジネス ロジックが間違っている場合、例外がスローされ、コードの先頭で受信されます。
  2. 例外の分析と処理。例外が発生した場合、異常なエラー情報を取得してログに書き込むことができます。
  3. はわかりやすいプロンプト情報を返すことができます。たとえば、WEB 側はページ フォームを返すことができ、AJAX 側は JSON データ形式を返すことができます。
  4. 原則: 例外がスローされた場合は、それをキャッチする必要があります。そうでない場合、PHP はエラーを報告します。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。