私は例外にPEARのText_LanguageDetectのエラー処理を書き換える処理中だと、本当に例外で動的なデータをどうするのか分からない:PHPの例外:動的データを配置する場所はどこですか?
ここthrow new Text_LanguageDetect_Exception(
'Language database does not exist.',
Text_LanguageDetect_Exception::DB_NOT_FOUND
);
私は、ファイル名を含めたいですそれを開くことがしようとしたが、質問はがそれを置くためありました。
Language database /path/to/file.ext does not exist.
Language database "/path/to/file.ext" does not exist.
Language database does not exist: /path/to/file.ext
Language database does not exist: "/path/to/file.ext"
1 + 2 + 4コードでメッセージをgrepすることを容易にしながら、適切な英語の文章です。また、3 + 4では、コードでファイル名を抽出する方が簡単です。
どちらを使用すればよいですか?
もう1つの質問は次のとおりです。ファイル名はどこに書きますか?
例外メッセージを表示すると、メッセージが表示された場合、攻撃者はサーバー上のファイル構造に関する情報を攻撃者に与える可能性があります。ファイル名がなければ、デバッグするのは難しいです。
プロダクションサーバーではエラーメッセージを無効にする必要があるため、攻撃者がファイル構造についての洞察を得ることはできません。コンポーネントのユーザーの誤設定を予期するコンポーネント作者の責任ではありません。私が好むメッセージについて:4.それとは別に、投票タイプの質問ではなく、それで私は推測します。 – Gordon
'sprintf()'を使うと、コードをきれいに保ちながら、より簡単にデカップリングや変更を行うことができます。それに続いて、コンポーネント全体のスタイルをチェックして、常に同じようにして、学習曲線を減らしてください。例外を処理するためにAPIのユーザーにとって有用なすべての情報を提供します。 – hakre
[可能なエラーメッセージを書く方法は?](http://stackoverflow.com/questions/194537/how-does-one-write-good-error-messages) – hakre