ホームページ > バックエンド開発 > PHPチュートリアル > PHP プログラマーは「例外」の使い方も学ぶ必要があります_PHP チュートリアル

PHP プログラマーは「例外」の使い方も学ぶ必要があります_PHP チュートリアル

WBOY
リリース: 2016-07-21 14:56:05
オリジナル
824 人が閲覧しました

Bangkejia (www.Bkjia.com) チュートリアル 「PHP プログラマー、特に php4 または PHP3 から育ったプログラマーの多くは、例外をスローするエラー処理方法の使用に慣れていません。php5 では例外処理メカニズムが導入されましたが、多くの PHP プログラマーはまだ実際に PHP をマスターして使用できていません

ウェブサイトの完全にオープンな性質により、ウェブサイトは従来のソフトウェアよりも「システムが常に正常に動作しているように見える」ことを実現することを期待しているため、プログラムエラーを処理する正しい方法を採用することが特に重要です。理論的には、設計が十分に完璧で、開発者が十分に注意を払っていれば、プログラム内でエラーが発生する可能性は 0 です。

しかし、真実はまったく逆で、複雑なビジネスロジック、異なるハードウェア環境、または信頼できないユーザー入力により、プログラムエラーやサービスクラッシュが発生する可能性があります。したがって、少し複雑なシステムでは、完全なエラー メカニズムが必要になります。

php5以前は、例外のサポートがなかったため。複雑な開発を行う場合、「エラー値の処理+ログの記録」という比較的原始的な処理形態が採用されることが多い。

例:

以下は引用内容です:
function getResult($a,$b)

....

if Fatal error happens

return "error_type1"....

}

$result = getResult($a,$b);//理論的には、getResult 関数は常に $result を正しく返すことができます

if($result=='error_type1')//ただし、いくつかの特殊な場合があります。 $result は正常に取得できません

{

writeLog('result is empty!');// ログを記録します

die();// または他のより「フレンドリーな」処理方法

}

理論的には、「エラー値の処理 + ログの記録」でも目的は達成できます(実際、これは真実です。php3 や php4 では、十分に複雑で成功したシステムが多数登場しており、あらゆる状況を考慮していましたので、ログを記録する必要はありません)。しかし、テクノロジーは常に進歩します。言うまでもなく、開発者の大部分は、優れた人のような厳格で完璧な思考を持っていないため、「プログラムエラーにどう対処するか」という問題については、依然として真剣に考えなければなりません。

上記の「エラー処理 + ログ記録」方法には次の欠点があります。

1 エラー条件が多すぎる場合、対応するエラー処理コードを大幅に増やす必要があり、プログラムの可読性が大きく損なわれます。プログラムが「途切れ途切れ」に見えます。

2 プログラムのロジックが非常に複雑な場合(たとえば、getResult2() 関数で getResult() を呼び出すなど、プログラムの関数呼び出しが非常に複雑である場合や、さらに複雑なマルチレベルのネスト状況など)、エラー値の転送処理は疲れます。エラーを効果的に処理できるようにするには、次のことを確認する必要があります。 エラー値が損失のない方法で配信される。

そこで、この元のエラー処理方法を変更します。例外処理メカニズムの導入により、満足のいく変更が見られるでしょう:

1 コードの可読性が大幅に向上します。プログラムを開発するとき、論理的思考は非常に一貫性のあるものになります。「疑わしい」場所では、例外をスローするだけで済みます。対処方法としては、後から追加するのを待ってください。もちろん、プログラムの読者は中断を感じることはありません。

2 「誤った値をいかに損失なく送信するか」という面倒で不快な問題を考える必要はありません。例外は上向きに伝播するため、関数が 2 層、3 層、またはそれ以上の深さでネストされていても問題はありません。外側の層で例外をキャッチする操作のみが必要です。

3 例外を自由にカスタマイズできる 機能ごとに例外を分類して、さまざまなプログラムエラーをより適切に管理できます。同時に、例外処理メソッドをより柔軟にカスタマイズすることもできます。たとえば、例外クラスにログ記録機能を実装します。

もちろん、例外を使用するかどうかはニーズによって異なります。 PHP の特徴の 1 つは、デプロイが速いことです。単純なロジックの小規模なプロジェクトの場合は、一般的なエラー値処理方法を使用してデプロイした方が速い場合があります。

記事の出典: http://www.cnblogs.com/rethink/

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/364316.html技術記事 LieHuo.Net チュートリアル PHP プログラマー、特に PHP4 や PHP3 で育ったプログラマーの多くは、例外をスローするエラー処理方法の使用に慣れていません。 php5を導入しましたが...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート