1. エラー処理
例外処理: アクシデントは、プログラムの実行中に発生する予期せぬ出来事です
PHP5 の新しい重要な機能
コードをコピーします。
if(){
}else{
}
try {
}catch(Exception object){
}
1. try のコードに問題がなければ、try のコードは次のようになります。実行後 catch 後に実行
2. try のコードで例外が発生した場合、例外オブジェクトをスローし (throw を使用)、catch のパラメータにスローすると、try のコードは実行を継続しません
直接ジャンプ実行するキャッチ、キャッチ内の実行が完了し、下方向に実行を続けます
注: どのような例外が発生したかを尋ねます。これは私たちが行う必要がある主なことではありません。例外が発生した場合は、キャッチ内の例外を解決する必要があります。解決できない場合は、外に出てユーザーに報告してください
2. 例外クラスを自分で定義します
機能: この例外が発生したときに処理する問題を解決する 1 つ以上のメソッドを作成します1。例外クラス (組み込みクラス) のサブクラスである必要があります。
2. 例外 クラス内のコンストラクターと toString() のみを書き換えることができ、その他は最終的なものです
3. 複数の例外を処理する
自分で関数型クラスを定義するとメソッド内で例外がスローされる コードをコピー コードは以下の通り:
class OpenFileException extends Exception {
function __construct($message = null, $code = 0) {
parent::__construct($message, $code);
echo "wwwwwwwwwww
";
function open (){
$file=fopen("tmp. txt", "r");
return $file;
}
}
class DemoException extends Exception {
function pro() {
echo "demo
で発生した例外を処理する";
}
}
class TestException extends Exception {
function pro(){
echo "テストで発生した例外をここで処理します
";
}
}
class HelloException extends Exception {
}
class MyClass {
function openfile(){
$file= @fopen("tmp.txt", "r");
if(!$file)
throw new OpenFileException("ファイルを開けませんでした")
}
関数デモ($num=0){
if($ num==1)
throw new DemoException("デモで例外が発生しました");
}
function test($num=0){
if($num==1)
throw new TestException("テストエラー") ;
}
関数 fun($num=0){
if($num==1)
新しい HelloException("### ########")
}
try{
echo "1111111111111";
$my=new MyClass();
$my->demo(0); $my->fun(1);
echo "222222222222222
";
}catch(OpenFileException $e){ //$ e =new Exception();
";
$file=$e->open();
}catch(DemoException $e){
echo $ e->getMessage()."
";
$e- >pro();
}catch(TestException $e){
echo $e->getMessage()."
";
$e->pro(); ){
echo $e->getMessage()."
"
}
var_dump($file);
http://www.bkjia.com/PHPjc/325497.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/325497.html
技術記事
1. エラー処理 例外処理: アクシデントは、プログラムの実行中に発生する予期せぬ出来事です。例外を使用してスクリプトの通常のフローを変更することは、PHP5 の新しい重要な機能です...。