throws
Java でのとthrow
の例外処理の違いについて誰でも簡単に説明できますか
4 に答える
throws は、実行時にエラーを引き起こすコードがメソッドにあり、メソッドの呼び出し時にその例外を処理またはスローする必要がある場合に使用されました。
throw は for でしたが、明示的にエラーをスローできます。
ここに両方の例があります
スロー用
public void test() throws ClientProtocolException,IOException{
HttpGet httpGet = new HttpGet(urlStr);
HttpClient httpclient = new DefaultHttpClient();
HttpResponse httpResponse = httpclient.execute(httpGet);
}
これにより、発生するたびに ClientProtocolException または IOException として例外がスローされます。
投げ用
public void test(String str){
if(str==null){
throw new NullPointerException(); // now here you explicitly throws the error whenever you getting str object as null
}
}
function() が IOException をスローすると言うとき、それは関数内のコードが IOException をスローできることを意味します。したがって、この関数を呼び出す人は誰でも、この関数を try-catch ブロックで処理する必要があります。ここでは、チェック例外の概念について説明します。
私たちが言うとき:
IOException をスローします。
あなたのコード ブロックは意図的にこの例外をスローしており、誰かがそれをキャッチする必要があります。
throws :
例外を呼び出し元メソッドに渡すだけです。IOException
また、実行中にメソッドが何らかの例外をスローする可能性があることを示す指標でもありSQLException
ます. RunTimeException
.
throw:
例外を生成する句です。(簡単な言葉で)メソッドシグネチャに表示されるのは、その中に宣言がthrows
必要なためです。throw
メソッド シグネチャでを使用throws
して、メソッドが特定の例外をスローできることを示します。このメソッドを呼び出すコードは、特定の例外が発生する可能性に対処する必要があります。
キーワードは、throw
実際に例外をスローするために使用されます。ステートメントを配置できる場所ならどこでも使用できます。