php異常処理の深さ
引き出し
クラスを調整し、呼び出し時にデータ検証タイムズが間違っている場合は、どのように返しますか?
配列、ブール値?
配列これは間違いの原因を持って帰ってもいいですが、ブール値は?
falseを返して、エラーを報告する時にエラーをクラス変数に入れますか?それとも、エラーを取得する方法で取得しますか?
上記の場合はコードに全く問題がない場合です.サードパーティのツールパッケージであれば、彼の実行がシステム全体を崩壊させるかどうかをどのように知っていますか.
ローカル運行は大丈夫だと言っていますが、環境というものは言いにくいです.
異常というものを使いました
次は私たちが理解しなければならない問題です.
いつ異常を投げますか.どうやって異常を受けますか?異常はどのように処理しますか?彼の使用シーンは何ですか.
基礎知識基礎操作try...catch()throw エラーレベル致命エラーE_ERROR,構文エラーE_PARSE,警告エラーE_WARNING,通知エラーE_NOTICE php異常処理クラス 定義済み例外
SPL異常類異常処理相関関数
シーンの操作システムは主に予測できないエラーをつかんで、統一的に戻って、tryを使用していません...catch受信異常直接ジャンプ設定の方法における ツールは、エラーが発生したら直接投げ出すカスタム例外を定義します.ツールを使用するプログラムはExceptionで異常を受信するだけでよく、すべての異常はこれによって処理される である.
文章の例キット例 プロジェクト例 FQA
1、なぜカスタム例外クラスを注文するのか、システムはすでに多くの選択肢を与えているのではなく、多くのcomposerパッケージには継承されているだけです.
答:実はカスタム例外は、異常粒子度を区別するために使用されます.例えば、
注文異常、商品異常、ユーザー異常類を注文しましたが、注文の異常は多種多様で、例えば注文支払い異常、注文生成異常です.
アイテムが例外を放出した場合
異常クラス名により、注文支払い異常であることがわかります.ここはエラー番号の代わりに、より明確にすることができます.
2、なぜcomposerパッケージのカスタム例外があるのか、いろいろな方法があります.何か役に立つことがありますか.
作用1:フォーマット異常
例えば、「id=xxのユーザーは存在しない」という異常なヒントを投げ出すと、次の2つの書き方があります.
役割2:コンポーネントレベルの例外
クラスを調整し、呼び出し時にデータ検証タイムズが間違っている場合は、どのように返しますか?
配列、ブール値?
配列これは間違いの原因を持って帰ってもいいですが、ブール値は?
falseを返して、エラーを報告する時にエラーをクラス変数に入れますか?それとも、エラーを取得する方法で取得しますか?
上記の場合はコードに全く問題がない場合です.サードパーティのツールパッケージであれば、彼の実行がシステム全体を崩壊させるかどうかをどのように知っていますか.
ローカル運行は大丈夫だと言っていますが、環境というものは言いにくいです.
異常というものを使いました
次は私たちが理解しなければならない問題です.
いつ異常を投げますか.どうやって異常を受けますか?異常はどのように処理しますか?彼の使用シーンは何ですか.
基礎知識
* ErrorException (extends Exception)
SPL異常類
* LogicException (extends Exception) // 。
* BadFunctionCallException //
* BadMethodCallException //
* DomainException //
* InvalidArgumentException //
* LengthException //
* OutOfRangeException // ,
* RuntimeException (extends Exception) //
* OutOfBoundsException // ,
* OverflowException //
* RangeException // 。 /overflow 。 DomainException
* UnderflowException // ( )
* UnexpectedValueException // 。 , ( ) ,
error_reporting //
register_shutdown_function // php
set_error_handler //
set_exception_handler //
error_get_last //
シーンの操作
db = new PDO($config);
if ($this->db == false) {
throw new Pdo(" ");
}
}
}
?>
文章の例
1、なぜカスタム例外クラスを注文するのか、システムはすでに多くの選択肢を与えているのではなく、多くのcomposerパッケージには継承されているだけです.
答:実はカスタム例外は、異常粒子度を区別するために使用されます.例えば、
注文異常、商品異常、ユーザー異常類を注文しましたが、注文の異常は多種多様で、例えば注文支払い異常、注文生成異常です.
* RuntimeException (extends Exception)
* Order
* Paymen
* Created
* Goods
* User
* Withdraw
アイテムが例外を放出した場合
異常クラス名により、注文支払い異常であることがわかります.ここはエラー番号の代わりに、より明確にすることができます.
2、なぜcomposerパッケージのカスタム例外があるのか、いろいろな方法があります.何か役に立つことがありますか.
作用1:フォーマット異常
例えば、「id=xxのユーザーは存在しない」という異常なヒントを投げ出すと、次の2つの書き方があります.
役割2:コンポーネントレベルの例外