この記事では、PHPの例外処理方法を例を通して解説します。皆さんの参考に共有してください。詳細は以下の通りです
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$path = "D://in.txt"; try //例外を検出 { file_open($path); } catch(Exception $e) //例外をキャッチ { echo $e->getMessage(); }
関数 file_open($path) { if(!file_exists($path)) //ファイルが見つからない場合は、例外オブジェクトをスローします { throw new Exception("ファイルが見つかりません", 1); } if(!fopen($path, "r")) //ファイルを開けない場合は、例外オブジェクトをスローします { throw new Exception("ファイルを開けません", 2); } } ?> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$path = "D://in.txt"; //ファイルが配置されているパス file_open($path); //file_open関数を呼び出す
関数 file_open($path) { if(!file_exists($path)) //ファイルが見つからない場合は、例外オブジェクトをスローします { throw new Exception("ファイルが見つかりません", 1); } if(!fopen($path, "r")) //ファイルを開けない場合は、例外オブジェクトをスローします { throw new Exception("ファイルを開けません", 2); } } ?> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
関数例外ハンドラー($e) //例外を処理する関数 { echo "キャッチされない例外:".$e->getMessage(); }
set_Exception_handler("例外ハンドラー"); //例外処理関数を設定します try //例外を検出 { $path = "D://in.txt"; } catch(Exception $e) //例外をキャッチ { echo $e->getMessage(); } file_open($path); //ファイルを開く関数を呼び出します 関数 file_open($path) { if(!file_exists($path)) //ファイルが見つからない場合は、例外オブジェクトをスローします { throw new Exception("ファイルが見つかりません", 1); } if(!fopen($path, "r")) //ファイルを開けない場合は、例外オブジェクトをスローします { throw new Exception("ファイルを開けません", 2); } } ?> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
$path = "D://in.txt";
試してみる { file_open($path); //尝试打开文件 } キャッチ(例外 $e) { echo "异常情報:".$e->getMessage()."/n"; //用户自定の常報を返します echo "异常代码:".$e->getCode()."/n"; //用户自定的异常代番号を返します echo "文件名:".$e->getFile()."/n"; //発生頻度の高いPHPプログラムファイル名を返します echo "异常代码所在行".$e->getLine()."/n"; //発生した常の日付位置の行番号を返します エコー「传递路線:」; print_r($e->getTrace()); //数組の形式で常に追跡される回線を返します echo $e->getTraceAsString(); //格式化成文字列を返しますgetTrace関数数情報 } 関数 file_open($path) { if(!file_exists($path)) //如果文件不存在,则抛出错误 { throw new Exception("文件無法找到", 1); }
if(!fopen($path, "r")) { throw new Exception("文件無法打开", 2); } } ?> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
クラス FileExistsException は例外を拡張します。{} //存在しないファイルを処理するために使用されます クラス FileOpenException は例外を拡張します{} //文書処理不可读异常的種類 $path = "D://in.txt"; 試してみる { file_open($path); } catch(FileExistsException $e) //結果が発生した場合、FileExistsException が頻繁にファイルの場所を示します { echo "程序在运行过程中発行了异常:".$e->getMessage()."/n"; echo "ファイルの場所を確認します。"; } catch(FileOpenException $e) //その結果 FileOpenException が発生する場合は、ファイルの可用性を示唆します { echo "程序在运行过程中発行了异常:".$e->getMessage()."/n"; echo "ファイルの可読性を確認します。"; } キャッチ(例外 $e) { echo "[未知异常]"; echo "异常情報:".$e->getMessage()."/n"; //用户自定の常報を返します echo "异常代码:".$e->getCode()."/n"; //用户自定的异常代番号を返します echo "文件名:".$e->getFile()."/n"; //発生頻度の高いPHPプログラムファイル名を返します echo "异常代码所在行".$e->getLine()."/n"; //発生した常の日付位置の行番号を返します エコー「传递路線:」; print_r($e->getTrace()); //数組の形式で常に追跡される回線を返します echo $e->getTraceAsString(); //格式化成文字列を返しますgetTrace関数数情報 } 関数 file_open($path) { if(!file_exists($path)) { throw new FileExistsException("文件無法找到達", 1); //抛出FileExistsException异常对オブジェクト }
if(!fopen($path, "r")) { throw new FileOpenException("文件無法打开", 2); //抛出FileOpenException异常对オブジェクト
} } ?> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
クラス FileExistsException は例外を拡張します。{} //存在しないファイルを処理するために使用されます クラス FileOpenException は例外を拡張します{} //文書処理不可读异常的種類 $path = "D://in.txt"; 試してみる { file_open($path); //尝试打开文件 } キャッチ(例外 $e) { echo "[未知异常]"; echo "异常情報:".$e->getMessage()."/n"; //用户自定の常報を返します echo "异常代码:".$e->getCode()."/n"; //用户自定的异常代番号を返します echo "文件名:".$e->getFile()."/n"; //発生頻度の高いPHPプログラムファイル名を返します echo "异常代码所在行".$e->getLine()."/n"; //発生した常の日付位置の行番号を返します エコー「传递路線:」; print_r($e->getTrace()); //数組の形式で常に追跡される回線を返します echo $e->getTraceAsString(); //格式化成文字列を返しますgetTrace関数数情報 } catch(FileExistsException $e) //結果が発生した場合、FileExistsException が頻繁にファイルの場所を示します { echo "程序在运行过程中発行了异常:".$e->getMessage()."/n"; echo "ファイルの場所を確認します。"; } catch(FileOpenException $e) //その結果 FileOpenException が発生する場合は、ファイルの可用性を示唆します { echo "程序在运行过程中発行了异常:".$e->getMessage()."/n"; echo "ファイルの可読性を確認します。"; } 関数 file_open($path) { if(!file_exists($path)) //如果文件不存在,则输出错误 { throw new FileExistsException("文件無法找到", 1); }
if(!fopen($path, "r")) { throw new FileOpenException("文件無法打开", 2); } } ?> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
クラス FileExistsException は例外を拡張します。{} //存在しないファイルを処理するために使用されます クラス FileOpenException は例外を拡張します{} //文書処理不可读异常的種類 $path = "D://in.txt"; 試してみる { file_open($path); } catch(FileExistsException $e) //結果が発生した場合、FileExistsException が頻繁にファイルの場所を示します { echo "程序在运行过程中発行了异常:".$e->getMessage()."/n"; echo "ファイルの場所を確認します。"; } catch(FileOpenException $e) //その結果 FileOpenException が発生する場合は、ファイルの可用性を示唆します { echo "程序在运行过程中発行了异常:".$e->getMessage()."/n"; echo "ファイルの可読性を確認します。"; } キャッチ(例外 $e) { echo "[未知异常]"; echo "异常情報:".$e->getMessage()."/n"; //用户自定の常報を返します echo "异常代码:".$e->getCode()."/n"; //用户自定的异常代番号を返します echo "文件名:".$e->getFile()."/n"; //発生頻度の高いPHPプログラムファイル名を返します echo "异常代码所在行".$e->getLine()."/n"; //発生した常の日付位置の行番号を返します エコー「传递路線:」; print_r($e->getTrace()); //数組の形式で常に追跡される回線を返します echo $e->getTraceAsString(); //格式化成文字列を返しますgetTrace関数数情報 } 関数 file_open($path) { 試してみる { if(!file_exists($path)) { throw new FileExistsException("文件無法找到達", 1); }
if(!fopen($path, "r")) { throw new FileOpenException("文件無法打开", 2); } } catch(Exception $e) //捕获异常 { echo "file_open関数数在运行進行中に出现异常"; $e をスローします。 // 重掷异常 } } ?> |
この記事が皆さんの PHP プログラミングに役立つことを願っています。