2011-07-15 13 views

答えて

0

はい、キャッチなしでtryと書くことができます。その場合は、最終的にブロックする必要があります。試してみると、少なくとも1つのキャッチか、または最後に強制的にキャッチか、最後に、または両方が必要です。

try{ 
    // throw exception 
} finally{ 
    // do something. 
} 

このケースでは、例外の詳細が緩和されるため、このケースを避ける必要があります。したがって、ここでそれを処理したくない場合は、単にその例外をスローします。

4

試した後にcatchまたはfinallyブロックを実行する必要があります。

try { 

} 
finally { 

} 

または

try { 

} 
catch (Exception e) { 

} 
0

のtry catchブロックせずに(あなたもfinallyブロックを使用する場合を除き)、それは意味がありませんので、構文エラーです。 tryを使用する唯一の理由は、ブロック内から例外をキャッチする(または最後に行う)ためです

1

はい、可能ですが、の後にfinallyブロックを置く必要があります。だから、このようにそれを行うことができます。

try 
{ 
} 
finally 
{ 
} 

または

try 
{ 
} 
catch(Exception e) 
{ 
} 
0

それはtryブロックの後にキャッチを置く必要があるのでしょうか?

いいえ、まったくありません。 tryブロックの後にfinallyブロックが続くまで、tryブロックの後にcatchを置くことは必須ではありません。試してみた後、キャッチか、ついには、あるいは両方がうまくいくことを覚えておいてください。

キャッチブロックなしで試してみることはできますか?

はい、可能です。しかし、それは悪い習慣になります。 tryブロックを記述しているので、catchブロック(例外をキャッチするため)とfinallyブロックでそれをフォローする良い習慣を記述する必要があります。

0

のJava 7でのtry-とリソース文はキャッチまたはfinally節

try(InputStream is = new FileInputStream(..)) 
{ 
    is.read(); 
} 
0

はいあなたの代わりに最終的に使用することができますが、私は私ができる場合、関数「例外をスローします」を使用し、より実用的では必要ありません。 tryブロックとcatchブロックを使用するとコードを読みにくくするためです。

0

最初に覚えておくべきことは、try-catch-finallyブロックの目的が何であるかを知る必要があることです。

  1. tryブロックは、内部に書かれたコードをテストするために使用されます。コードによって例外が発生した場合は、例外がcatchブロックにスローされます。
  2. catchブロックは、ユーザーに数字だけを入力するように指示するコードを書いたと仮定した場合のように、スローされた例外を処理するために使用されます。しかし、ユーザーは文字を入力したので、コードは例外をスローします。例外は、ブロックcatchによってキャッチされます。次に、catchブロックは、ユーザーにデータの再入力を促します。これは例外処理と呼ばれるものです。しかし、キャッチブロックを空のままにしたい場合は、問題ありません。
  3. あなたはtryブロックの後finallyを記述する必要があり、それを以下catchキーワードを指定せずにtryを書くかもしれませんが。
  4. ブロックfinallyのコードは何時でも実行されます。あなたは通常ファイルやデータベース接続のようにtryブロックで開かれたリソースを閉じるためにfinallyブロックにコードを書きます。
  5. finallyブロック(java 8で利用可能)の代わりにtry-with-resourcesを使用できます。

だから、あなたはtryには、次の例のようにfinally続いcatch続い書くことができます。

try{ 
    //code 
} 
catch(Exception ex){ 
    //code to handle the problem. 
} 
finally{ 
    //Closing resources etc. 
} 

か、この記述することができます。

try{ 
    //code 
} 
catch(Exception ex){ 
    //code to handle the problem. 
} 

またはこの:

try{ 
    //code 
} 
finally{ 
    //Closing resources etc. 
} 

しかし、通常はcatchブロックで問題を処理したいと考えています。

関連する問題