php5 php5 プログラミングにおける例外処理の詳細な紹介

WBOY
リリース: 2016-07-29 08:38:30
オリジナル
830 人が閲覧しました

1 まず、try,catch
$path = "D:\\in.txt";
try //例外を検出
{
file_open($path)
}
catch(Exception $e) / /例外をキャッチ
{
echo $e->getMessage();
}
function file_open($path)
{
if(!file_exists($path)) // ファイルが見つからない場合は、例外オブジェクトをスローします
{
throw new Exception("ファイルが見つかりません", 1);
}
if(!fopen($path, "r")) //ファイルを開けない場合は例外オブジェクトをスローします
{
throw new Exception("File Unable to open", 2);
}
}
?>
例外情報を出力するには $e->getMessage() を使用してください
$ path = "D:\\ in.txt";
try
{
file_open($path); // ファイルを開いてみる
}
catch(Exception $e)
{
echo "例外メッセージ: ".$ e->getMessage()." \n"; //ユーザー定義の例外情報を返す
echo "例外コード: ".$e->getCode()."\n"; code
echo "File name: ".$e->getFile()."\n"; //例外が発生した PHP プログラム ファイルの名前を返します
echo "例外コードが存在する行"。 $e->getLine()."\n"; / /例外が発生した行の行番号を返す
echo "送信ルート:"
print_r($e->getTrace());追跡例外の各ステップのルートを配列の形式で返します
echo $e- >getTraceAsString() //getTrace 関数の情報を文字列として返します
}
function file_open($path)
{
if (!file_exists($path)) //ファイルが存在しない場合はエラーがスローされます
{
throw new Exception("ファイルが見つかりません", 1)
}
if(!fopen($path, " r"))
{
throw new Exception("ファイルを開けません", 2);
}
}
?>
拡張例外、つまりカスタム例外
class FileExistsException extends Exception{} //存在しないファイルを処理するためのクラス
class FileOpenException extends Exception{} //ファイルの処理には使用できません 例外クラスの読み取り
$path = "D:\\in.txt"
try
{
file_open( $path);
}
catch(FileExistsException $e) //FileExistsException 例外が発生した場合、ユーザーにファイルの場所を確認するように求めます
{
echo "プログラムの実行中に例外が発生しました: ".$e-> getMessage()."\n";
echo "ファイルの場所を確認してください。 ";
}
catch(FileOpenException $e) //FileOpenException が発生した場合、ユーザーはファイルの読み取り可能性を確認するよう求められます
{
echo "プログラムの実行中に例外が発生しました: ".$e-> ;getMessage() ."\n";
echo "ファイルが読み取れるかどうかを確認してください。";
}
catch(Exception $e)
{
echo "[不明な例外]";
echo "例外情報: ".$e->getMessage()."\n"; //user-に戻る定義された例外情報
echo "例外コード: ".$e->getCode()."\n"; //ユーザー定義の例外コードを返す
echo "ファイル名: ".$e->getFile() . "\n"; //例外が発生した PHP プログラム ファイルの名前を返します
echo "例外コードが存在する行".$e->getLine()." //例外コードのある行 No.
echo "送信ルート:";
print_r($e->getTrace()); //追跡例外の各ステップのルートを配列で返す
echo $e->getTraceAsString(); //戻り形式 GetTrace 関数の情報を文字列に変換します
}
function file_open($path)
{
if(!file_exists($path))
{
throw new FileExistsException("File見つかりません", 1); //FileExistsException オブジェクトをスローします
}
if(!fopen($path, "r"))
{
throw new FileOpenException("ファイルを開けません", 2); //FileOpenException をスローします例外オブジェクト
}
}
?>
4 例外を上位層に再スローします
class FileExistsException extends Exception{} //ファイルが存在しない例外を処理するために使用されるクラス
class FileOpenException extends Exception{} //ファイルを読み取れない例外を処理するクラス
$path = "D:\\in.txt";
try
{
file_open($path)
}
catch(FileExistsException $e) //FileExistsException 例外の場合エラーが発生すると、ユーザーはファイルの場所を確認するよう求められます
{
echo "プログラムが実行中です。プロセス中に例外が発生しました: ".$e->getMessage()"\n";
echo "ファイルを確認してください位置。 ";
}
catch(FileOpenException $e) //FileOpenException が発生した場合、ユーザーはファイルの読み取り可能性を確認するよう求められます
{
echo "プログラムの実行中に例外が発生しました: ".$e-> ;getMessage() ."\n";
echo "ファイルが読み取れるかどうかを確認してください。 ";
}
catch(Exception $e)
{
echo "[不明な例外]";
echo "例外情報: ".$e->getMessage()."\n"; //user-に戻る定義された例外情報
echo "例外コード: ".$e->getCode()."\n"; //ユーザー定義の例外コードを返す
echo "ファイル名: ".$e->getFile() . "\n"; //例外が発生した PHP プログラムのファイル名を返します
echo "例外コードが存在する行".$e->getLine()." // 例外が発生した行を返します例外コードはNo.
echo "送信ルート:";
print_r($e->getTrace()); //追跡例外の各ステップのルートを配列の形式で返します
echo $e ->getTraceAsString(); //戻り形式 GetTrace 関数の情報を文字列に変換します
}
function file_open($path)
{
try
{
if(!file_exists($path))
{
throw new FileExistsException( "ファイルが見つかりません", 1);
}
if(!fopen($path, "r"))
{
throw new FileOpenException("ファイルを開けません", 2); Exception $e) //例外をキャッチ
{
echo " file_open 関数の操作中に例外が発生しました"; // 例外を再スローします
}
}
?>
以上、php5 プログラミングにおける例外処理の詳細な方法を php5 の内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。


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