2011-06-17 11 views
4

私はいつもエラーを管理するために "返品ステータスコード"メソッドを持っています。例外は今日、エラーを管理する最良の方法です。
しかし、彼らは本当に最善の方法ですか? exceptions are worst than GoToPHPで例外を使用する正しい方法は何ですか?

例外やエラー管理に関する記事がありますか?

+0

このトピックは、しばらく前に表示されます。検索http://stackoverflow.com/search?q=php%20exceptions%20vs%20errorsと、おそらくあなたのケースに関連するいくつかの説明(=すべてに正しい方法はありません)で啓発の答えが見つかります。 – mario

+0

この質問は[Programmers](http://programmers.stackexchange.com/)に適していますか、それともまだ広すぎますか? –

答えて

3

オブジェクト指向のプログラムを作成した場合、多分例外があなたの方が良いでしょう。手続き型を記述すると、戻り値がより良い方法になります。あなたのコーディングスタイルなどによります。

+2

は何も矛盾より悪いので。例外はオブジェクト指向のパターンであり、戻りコードは手続き型プログラミングに由来します。 – levu

2

プログラミング言語に応じてステータス/エラーコードを返すよりも約10000倍遅くなります。これは、すべてのスタック情報が追跡されているためです。それは悪いです。

通常、例外を使用する必要はありません。実際、ある時点で、存在したのはリターンコードだけでした。

例外については、プログラムが正しく処理されない限り、プログラムを続行できないという点で良い点があります。代わりに、プログラムがクラッシュします。

基本的に、ステータスメッセージを処理するのを忘れたり、他の人が関数からの戻りコードをチェックしないことが心配されている場合、例外はプログラムを停止して修正します。しかし、経験の浅いプログラマーの多くが例外をキャッチし、何もしておらず、続けています。これは、基本的に関数からの戻りコードを無視することと同じです。

例外についてのもう1つの良い点は、自動的に「バブルアップ」することです。関数の長い連鎖でエラーコードを返す代わりに、トップレベルでtry catchを設定し、エラーを適切に処理することができます(間に何か他のことが起こりたくないと仮定した場合)。たとえば、何か問題が生じた場合は、エラーページを表示します。

関連する問題