検索
ホームページphp教程php手册php5プログラミングにおける例外処理の詳細な紹介

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

Jun 13, 2016 pm 12:27 PM
catchpathphpphp5try導入対処する異常な方法検出プログラミング詳しい

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( "ファイルを開けません" , 2);
}
}
?>
例外情報を出力するには、$e->getMessage() を使用してください。完全な例外情報を出力します

$path = "D:\\in.txt";

try
{
file_open($path); // ファイルを開いてみてください
}
catch(Exception $e)
{
echo "例外メッセージ: ".$e->getMessage()." //ユーザー定義の例外メッセージを返します
echo "例外コード: ".$e->getCode()."\n" //ユーザー定義の例外コードを返します
echo "ファイル名: ".$e ->getFile()." \n"; //例外が発生したPHPプログラムのファイル名を返す
echo "例外コードが存在する行".$e->getLine()."\ n"; //例外コードが存在する行を返す No.
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("ファイルを開けません",
}
}
?>




拡張例外、つまりカスタム例外

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 "ファイルの実行中に例外が発生しましたProgram:". $e->getMessage()."\n";
echo "ファイルが読み取れるかどうかを確認してください。";
}
catch(Exception $e)
{
echo "[不明な例外]";
echo "例外メッセージ: ".$e->getMessage()。" \n"; //ユーザー定義の例外情報を返す
echo "例外コード: ".$e->getCode()."\n"; //ユーザー定義の例外コードを返す
echo "ファイル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 FileExistsException("ファイルが見つかりません", 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 "ファイルの実行中に例外が発生しましたProgram:". $e->getMessage()."\n";
echo "ファイルが読み取れるかどうかを確認してください。 ";
}
catch(Exception $e)
{
echo "[不明な例外]";
echo "例外メッセージ: ".$e->getMessage()。" \n"; //ユーザー定義の例外情報を返す
echo "例外コード: ".$e->getCode()."\n"; //ユーザー定義の例外コードを返す
echo "ファイルname:".$e->getFile()."\n"; //例外が発生した PHP プログラム ファイルの名前を返します
echo "例外コードが存在する行".$e- >getLine(). "\n"; //例外が発生した行の行番号を返す
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("ファイルを開けません",
}
}
catch(Exception $e) / /例外をキャッチ
{
echo "file_open 関数の操作中に例外が発生しました";
throw $e; // 例外を再スローします。 >}
}
?>

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター