ホームページ >バックエンド開発 >PHPチュートリアル >PHP プログラマーは「例外」の使い方も学ぶ必要があります_PHP チュートリアル
Bangkejia (www.Bkjia.com) チュートリアル 「PHP プログラマー、特に php4 または PHP3 から育ったプログラマーの多くは、例外をスローするエラー処理方法の使用に慣れていません。php5 では例外処理メカニズムが導入されましたが、多くの PHP プログラマーはまだ実際に PHP をマスターして使用できていません
。ウェブサイトの完全にオープンな性質により、ウェブサイトは従来のソフトウェアよりも「システムが常に正常に動作しているように見える」ことを実現することを期待しているため、プログラムエラーを処理する正しい方法を採用することが特に重要です。理論的には、設計が十分に完璧で、開発者が十分に注意を払っていれば、プログラム内でエラーが発生する可能性は 0 です。
しかし、真実はまったく逆で、複雑なビジネスロジック、異なるハードウェア環境、または信頼できないユーザー入力により、プログラムエラーやサービスクラッシュが発生する可能性があります。したがって、少し複雑なシステムでは、完全なエラー メカニズムが必要になります。
php5以前は、例外のサポートがなかったため。複雑な開発を行う場合、「エラー値の処理+ログの記録」という比較的原始的な処理形態が採用されることが多い。
例:
以下は引用内容です:
理論的には、「エラー値の処理 + ログの記録」でも目的は達成できます(実際、これは真実です。php3 や php4 では、十分に複雑で成功したシステムが多数登場しており、あらゆる状況を考慮していましたので、ログを記録する必要はありません)。しかし、テクノロジーは常に進歩します。言うまでもなく、開発者の大部分は、優れた人のような厳格で完璧な思考を持っていないため、「プログラムエラーにどう対処するか」という問題については、依然として真剣に考えなければなりません。 上記の「エラー処理 + ログ記録」方法には次の欠点があります。 1 エラー条件が多すぎる場合、対応するエラー処理コードを大幅に増やす必要があり、プログラムの可読性が大きく損なわれます。プログラムが「途切れ途切れ」に見えます。 2 プログラムのロジックが非常に複雑な場合(たとえば、getResult2() 関数で getResult() を呼び出すなど、プログラムの関数呼び出しが非常に複雑である場合や、さらに複雑なマルチレベルのネスト状況など)、エラー値の転送処理は疲れます。エラーを効果的に処理できるようにするには、次のことを確認する必要があります。 エラー値が損失のない方法で配信される。 そこで、この元のエラー処理方法を変更します。例外処理メカニズムの導入により、満足のいく変更が見られるでしょう: 1 コードの可読性が大幅に向上します。プログラムを開発するとき、論理的思考は非常に一貫性のあるものになります。「疑わしい」場所では、例外をスローするだけで済みます。対処方法としては、後から追加するのを待ってください。もちろん、プログラムの読者は中断を感じることはありません。 2 「誤った値をいかに損失なく送信するか」という面倒で不快な問題を考える必要はありません。例外は上向きに伝播するため、関数が 2 層、3 層、またはそれ以上の深さでネストされていても問題はありません。外側の層で例外をキャッチする操作のみが必要です。 3 例外を自由にカスタマイズできる 機能ごとに例外を分類して、さまざまなプログラムエラーをより適切に管理できます。同時に、例外処理メソッドをより柔軟にカスタマイズすることもできます。たとえば、例外クラスにログ記録機能を実装します。 もちろん、例外を使用するかどうかはニーズによって異なります。 PHP の特徴の 1 つは、デプロイが速いことです。単純なロジックの小規模なプロジェクトの場合は、一般的なエラー値処理方法を使用してデプロイした方が速い場合があります。 記事の出典: http://www.cnblogs.com/rethink/ |