PHP例外処理

WBOY
WBOYオリジナル
2016-06-23 14:30:01973ブラウズ

例外処理の基本的な考え方は、コードが try コード内で呼び出されて実行されるということです。 try コードブロックでエラーが発生した場合は、例外処理を実行できます。 Java などの一部のプログラミング言語は、特定の状況下で自動的に例外をスローします。 PHP では、例外を手動でスローする必要があります。次の方法で例外をスローできます:

Throw new Exception('message',code);

Throw キーワードは例外処理メカニズムをトリガーします。これは関数ではなく言語構造ですが、渡す必要があります。価値。受信オブジェクトが必要です。最も単純なケースでは、組み込みの Exception クラスをインスタンス化できます。

最後に、try コードの後に​​、少なくとも 1 つの catch コード ブロックを指定する必要があります。複数の catch コード ブロックを try コード ブロックに関連付けることができます。各 catch ブロックが異なる種類の例外をキャッチできる場合は、複数の catch ブロックを使用するのが合理的です。たとえば、Exception クラスの例外をキャッチしたい場合、コードは次のとおりです

Catch(Exception $e)

{

//handingException

}

Catch コードでキャプチャされるオブジェクトは、例外を引き起こし、 throw ステートメントに渡されたオブジェクト ( throw ステートメントによってスローされた)。 Exception クラスのインスタンスを使用することは良い選択です。

Exception クラスは、次の組み込みメソッドを提供します:

Getcode()? コンストラクターに渡されたコードを返します。

GetMessage()? コンストラクターに渡されたメッセージを返します。

getFile()?例外コードを生成したファイルのパスを返します

getLine()?例外を生成したコードが配置されている行を返します。

以下はユーザー登録機能のコードの一部です

コードを見る

 1 try{ 2     //check forms filled in 3     if(!filled_out($_POST)){ 4         throw new Exception('你还没有填写表单,请回去填写'); 5     } 6     //check email address not valid 7     if(!check_email($email)){ 8        throw new Exception('邮件的格式不正确'); 9     }10     //检查密度的长度是否大于611     if(strlen($passwd<6)){12         throw new Exception('密度的长度应该大于6');13     }14     //检查两次密码是否相等15     if($passwd!=$passwd1){16         throw new Exception('两次密码不一样,请重新输入');17     }18     //检查用户名的长度是否正确19     if(strlen($username)>16){20         throw new Exception('用户名的长度不符,请重新输入');21     }22   23 } catch(Exception $e){24     echo $e->getMessage(); //输出异常信息。25 }

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