ホームページ  >  記事  >  バックエンド開発  >  PHP の try catch はどのような問題を解決しますか?

PHP の try catch はどのような問題を解決しますか?

WBOY
WBOYオリジナル
2016-10-22 00:14:211228ブラウズ

PHP に例外処理があることは Baidu で確認しましたが、構文の書き方はすべて教えてもらいました。上記の手順に従って、使い方を理解しているものと想定してください。しかし、なぜ try catch を使用する必要があるのか​​、そしてそれがどのような問題を解決すると思われるのかを説明した記事は見つかりませんでした。コード内の「if...else やその他の乱暴な方法」を減らすことができると書かれているのを見たことがありますが、詳細には触れませんでした。
何か知っている場合は、答えを探し続けてください。頻繁に戻ってきて、この質問に対する答えに注目してください。

返信内容:

PHP に例外処理があることは Baidu で確認しましたが、構文の書き方はすべて教えてもらいました。上記の手順に従って、使い方を理解しているものと想定してください。しかし、なぜ try catch を使用する必要があるのか​​、そしてそれがどのような問題を解決すると思われるのかを説明した記事は見つかりませんでした。コード内の「if...else やその他の乱暴な方法」を減らすことができると書かれているのを見たことがありますが、詳細には触れませんでした。
何か知っている場合は、答えを探し続けてください。頻繁に戻ってきて、この質問に対する答えに注目してください。

すべての入力と計算結果を希望どおりに処理するだけでなく、プログラムは誤った入力や異常な動作結果も処理します。これも非常に重要なリンクです。

もちろん、最も原始的な例外処理は、あなたが言及した If 制御ステートメントの使用です。この方法は、大量の繰り返しコードを記述する必要があるだけでなく、例外を処理するためのコードが大きすぎる可能性があります。その中にバグが隠されています。

高レベルの例外処理メカニズムはエラー メカニズムです。エラー メカニズムは、例外が発生したときに指定されたコード セグメントを実行するメソッドを提供し、判定に If を使用する大量の肥大化した見苦しい例外処理コードの問題を解決します。ただし、エラー処理機構は例外処理のプロセスを提供するだけであり、スタック処理などの例外環境に関するメンテナンスは提供しないため、エラー処理機構はプロセス指向プログラミングなどの比較的フラットなプログラミングにのみ適しています。

次のレベルは、Try Catch である例外処理メカニズムです。エラー処理と比較して、例外処理はスタック制御を保持して実装できます。これにより、例外処理コードを例外が発生する可能性のある領域に近づけるだけでなく、また、プログラマは、例外が発生したときにコンテキストの維持についてあまり考えなくて済みます。特に多くのレベルを持つスタック構造では、例外メカニズムはスタックの下位層の上位層の例外処理構造を適切に表示できます。

エラー報告コードとエラー処理コードを分離します。

高レベル関数にエラーを処理する機会を与えます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。