2017-01-30 8 views
0

私はOOPを勉強しており、例外の概念を理解していませんでした。例外の正しい目的である場合

例外の正しい使い方は何ですか?

可能性のある例外を既に知っているときに例外を使用する理由は何ですか?

たとえば、プログラマーがファイルにアクセスする必要があるコードサンプルがあり、ファイルが存在しない場合は例外があります。 "catch(fileDoesNotExist e)"のようなものです。

アクションを実行する前にifを使用して確認するのはなぜですか?また、既知の問題、ロギングまたはエラーメッセージに対してのみ例外を使用します。

+1

まず、最初に確認してからアクションを実行すると、[競合条件](https://en.wikipedia.org/wiki/Race_condition)につながります。第2に、例外を使用すると、エラーの時点ではなく、呼び出しスタックの上のエラー状態を処理できます。 – Phylogenesis

+0

私が正しく理解していれば、Exceptionsを使ってパフォーマンスを向上させることができます。その理由は、可能性のあるエラーをチェックするリソースを失うことはないと思います。 – user2977500

+0

私はこの部分を理解していませんでした。例外は、エラーの時点ではなく、呼び出しスタックの上のエラー状態を処理できるようにします。 – user2977500

答えて

0

例外の概念の背後にある考え方は、エラー処理コードを「通常の」動作フロー制御から切り離すことでした。これにより、コールスタックの上位の例外を管理/処理することができます。

歴史的に、構造化言語では、エラー処理コード(ファイルオープンエラーなど)が "ビジネス"アプリケーションコード内で混在していました。また、新しいエラーコードを管理するためにコードを改善することも苦労しました。

例外の正しい使い方は何ですか?

あなたのファイルが存在しないこと、正常ではないか=>それは例外的な状況と考えられている=>例外=>例外ハンドラすでに例外を使うのはなぜ

を開くことができない場合考えられる例外を知っていますか?

エラー処理からビジネスアプリケーションコードを分離します。これにより、ソースコードの読みやすさとメンテナンスが容易になります。

0

例外:

例外は、その割り込み(ブレーク)program.Itの実行時にスローの通常の流れです。

例外処理

例外処理は

は、Javaでチェック例外の主に2種類があります

などにClassNotFound、IO、SQL、リモートなどとして ハンドルランタイムエラーにメカニズムですチェックしてください。その他エラーがあります

Hierarchy of Exception classes in Java

可能性のある例外を既に知っているときに例外を使用する理由は何ですか?

基本的に例外処理を使用主に、私たちはたちの特定のコードがいくつか発生することにを仮定する(NullPointerExceptionが、ArrayIndexOutOfBoundsExceptionがなどが...)exception.Ifは、我々はそれを処理できない、プログラムはその例外をbreak.Actuallyますそれ起こるかもしれないし、起こらないかもしれない。しかし、我々は、発生したプログラムの正常な流れを処理する必要がある。そうでなければ、その特定のコードセクションが実行されていない。

関連する問題