例外からのデータを記録するログクラスを作成する必要があります。簡単にするために、 'trace'配列内のデータを取得し、PHPの例外インスタンスの 'message'と 'code'プロパティを追加することで拡張できるかどうかを知りたかったのです。しかし、PHPで例外がスローされても、少なくとも3つのプロパティ( 'trace'、 'message'、 'code')を持つことが保証されているかどうかはわかりません。物事を記録する良い方法があるかどうかを提案する。すべてのPHP例外に「トレース」、「メッセージ」、「コード」の各プロパティがありますか?
答えて
まず、すでに優れていることが証明されているコードを使用する方がよいでしょう。 PHPコミュニティは広くMonologライブラリを使用してチェックしてください。あなた自身のロガーをまだ書いておきたい場合は、こだわるべきですPSR-3 rules
あなたの質問にお答えください。スローされるPHPオブジェクトは、ExceptionクラスのインスタンスまたはExceptionのサブクラスでなければなりません。
しかし、あなたが例外
public function __construct($message = null, $code = 0, Exception $previous = null);
のコンストラクタを見ればあなたが空に投げることができるexception.But常にコード、ファイル、トレースとコードが存在します。コードとメッセージは空白にすることができます。
あなたは、すべてのユーザー例外は、基本クラス `\ Exception`を拡張しているので、それは、少なくとも同じ機能を持ちますhttp://php.net/manual/en/language.exceptions.php
私はすでに書かれたクラスに固執する方がよいということに同意します。しかし、彼らは私の要求に合っていません。彼らは大きすぎるか、私が探している重要な機能を欠いている。 –
私はモノログがニーズの99%に合っていると思います。私はすべてのプロジェクトでそれを使用しており、高度にカスタマイズすることもできます。また、チャネル、ハンドラなどがたくさんあります。 – Robert
- 1. .NET例外:各例外タイプには独自のメッセージテキストがありますか?
- 2. SQL例外のトレース
- 3. Java例外メッセージの規則はありますか?
- 4. PHPカスタム例外メッセージ
- 5. コード付きfeathersJSのすべてのサービスの実例がありますか?
- 6. すべての例外をキャッチする必要がありますか?
- 7. SslStream.AuthenticateAsClientの例外(メッセージのフォーマットが正しくありません)
- 8. android studio ..コードにエラーはありませんが、例外があります
- 9. なぜ次のJavaコードの例外はありますか?
- 10. 例外メッセージを使用して例外の種類を判断する方法はありますか
- 11. Webrequestの後にパラメータにすべてのプロパティがあります
- 12. Capybara:ログ内の例外トレース
- 13. angular2 tinymce例外 - オブジェクトのプロパティがありません
- 14. すべてのプロパティにObject.watchがありますか?__noSuchMethod__にshimがありますか?
- 15. itemsourceの外部にバインディングスタイルのプロパティがありますか?
- 16. PHP:\例外または例外がネームスペース内にある
- 17. このウェブページには、リダイレクトループ "ERR_TOO_MANY_REDIRECTS"がクロムにあり、すべてのブラウザがPHPコード
- 18. すべてのタグを含むHTMLコード例はありますか?
- 19. ASP.NETコアに例外の例外番号がありません
- 20. 各関数をPHPでトレースする
- 21. System.Data.DataTableにすべてのプロパティとメソッドがありません
- 22. 未知の例外「例外」メッセージ「FPDFエラー」PHP
- 23. このVS 2013の例外について、私は何か/すべきことがありますか?
- 24. CLRに大量の例外フレームがありますか?
- 25. stlにエラーコードの例外がありますか?
- 26. プロパティをクラスの例外プロパティに移動する "System.InvalidCastException: 'オブジェクトはIConvertibleを実装する必要があります。'"
- 27. 内部例外のプロパティが破棄されていますか?
- 28. C#メソッドとプロパティ:例外が発生する可能性があります
- 29. SpringMVCの例外メッセージが
- 30. "エラーが発生しました"ではなく、すべての例外メッセージをzendに表示しますか?
にそれについての詳細を読むことができます。ですから、一般的には\ Exceptionクラスをベースにするべきです。 http://php.net/manual/en/class.exception.php –