ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルでの例外処理の基本的な方法

php_PHP チュートリアルでの例外処理の基本的な方法

WBOY
WBOYオリジナル
2016-07-13 17:14:17986ブラウズ

以下は、PHP での例外処理の方法の紹介です。例外処理を学ぶ必要がある人は、このチュートリアルを参照してください。

以下は引用です:

1. メソッドがクライアント コードにエラー フラグを与えることを許可します
2. プログラムエラーに関する詳細情報を提供します
3. 複数のエラー条件を同時に判断し、エラー報告とプログラム処理フローを分離できます。
4. 戻り値は独立した型である必要があり、通常返される型と混同されません

PHP 例外処理をマスターするための 2 つの例

//例 [1] try...catch を使用します

コードは次のとおりです コードをコピー
/* PDO は mysql データベースに接続します。PDO をまだ見ていない場合は、まず PDO のコンストラクターを参照するか、例 1 をスキップして例 2 を参照してください。 */
$dsn = 'mysql:host=localhost;dbname=testdb'; $user = 'dbuser'; $パスワード = 'dbpass'; {
を試してください $dbh = new PDO($dsn, $user, $password); //データベース接続オブジェクトの作成では例外が発生する傾向があります
echo '上記の例外がある場合は表示されません'; } キャッチ (PDOException $e) {
echo '接続に失敗しました: ' $e->__toString(); }
?>




コードは次のとおりです

コードをコピー //例[2] try..cathcとthrowを併用しています { を試してください $error = '例外メッセージをスローし、try ブロックから飛び出しました'; if(is_dir('./tests')){ echo 'do sth.'; }その他{
新しい例外をスローします($error,12345); }
echo '上記に例外がある場合は、私の番ではありません! ~
',"n"; } catch (例外 $e) {
echo '例外をキャッチ: ', $e->getMessage(),$e->getCode(), "n
" // $error と 123456 を表示します
}
echo '実行を継続'
?>


友人が上で言ったので、練習するために自分でいくつかのプログラムを書いてみます:

以下はコードスニペットです:

コードは次のとおりです コードをコピー


$a = 20;

//通常の catch の使用例
試してみてください
{
if($a == 1)
{
throw new Exception("I am 1", 1);
}
elseif ($a == 2)
{
throw new Exception("I am 2", 3);
}
elseif ($a == 3)
{
新しい例外をスローします("I am 3", 3);
}
elseif ($a == 4)
{
throw new Exception("I am 4", 4);
}
それ以外
{
throw new Exception("私は誰ですか?", 0);
}
}
catch (例外 $e)
{
if($e->getCode() == 1)
{
echo "1 : ".$e;
}
elseif ($e->getCode() == 2)
{
echo "2 : ".$e;
}
elseif ($e->getCode() == 3)
{
echo "3 : ".$e;
}
elseif ($e->getCode() == 4)
{
echo "4 : ".$e;
}
それ以外
{
echo "0 : ".$e;
}
}

エコー「


-------------------------------------------------- ----------------------------------
";

//さまざまな拡張例外クラスの使用例
クラス A は例外を拡張します{};
クラス B は例外を拡張します{};

試してみる
{
if($a == 1)
{
throw new A("I am A", 1);
}
elseif ($a == 2)
{
throw new B("I am B", 2);
}
それ以外
{
throw new Exception("私は誰ですか?", 0);
}
}
キャッチ(A$e)
{
echo "1 : ".$e;
}
キャッチ(B$e)
{
echo "2 : ".$e;
}
catch (例外 $e)
{
echo "0 : ".$e;
}

?>


出力は次のようになります:

以下は引用です:

0 : 例外 'Exception' とメッセージ 'Who am I?' が D:WebPHPWWWnewtest.php:24 で発生しました スタック トレース: #0 {main}


-------------------------------------------------- ----------------------------------
0 : D:WebPHPWWWnewtest.php:69 の例外「例外」メッセージ「私は誰ですか?」スタック トレース: #0 {main}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629027.html技術記事 PHP での例外処理の方法を紹介します。例外処理を学習する必要がある人は、このチュートリアルを参照してください。 以下は引用です: 1. メソッドに出力を与えることを許可します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。