このメソッドは以下のメソッドを呼び出しています。接続するURLに誤ったポート番号を指定しています。 私の驚いたことに、生成された例外は、最初のメソッドcatchブロックで捕捉されています なぜexecuteDataメソッドのcatchブロック内で処理されないのですか?あなたのラインJava:2番目のメソッドキャッチブロック内で例外がキャッチされないのはなぜですか?
// some code
がキャッチされた別の例外を生成するので、おそらくです
**1st Method**
public APIResponse execute(Request request, Class<? extends Response> responseClass) {
try {
String xmlResponse = executeData(request);
// some code
return response;
}
catch (Exception ex) {
return new Response(ErrorCode.SYSTEM_ERROR);
}
}
2nd Method
public String executeData(Request request) throws IOException {
URL url = null;
URLConnection urlc = null;
try {
url = new URL("http://localhost:80870/");
urlc = url.openConnection();
}
catch (Exception ex) {
ex.printStackTrace();
**// This is not being executed .**
}
// Some code
// Some code
return xmlResponse;
}
あなたは本当にnothin executeData例外ハンドラのgは、実行中にコメントアウトしたコードの結果を見る前に例外をスローしますか? –
'throws IOException'を2番目のメソッドから削除すると機能しますか? – Viruzzo
@Viruzoは、私がスローを取り除く場合には役に立ちません – Kiran