2017-12-15 13 views
0

私は外部のライブラリを参照していたアプリケーションを持っています。このライブラリのオブジェクト型から1つの特定のメソッドを呼び出す際に、このライブラリのバージョンにこのメソッドがないため、一部のクライアントが問題を起こしています。私はこの例外をキャッチし、それをユーザーに正しく報告しようとしています。だから私は、try/catchブロックで呼び出しをラップしているが、これはそれをキャッチしません:外部のjarファイルに存在しない方法で対処

try 
{ 
    cell.setRowspan(rowSpan); 
} 
catch (Exception e) 
{ 
    Throwable throwable = e.getCause(); 
    throw new Exception(throwable); 
} 

私は問題の日食がちょうどにjava.lang.reflect.InvocationTargetExceptionのCLASを開いているデバッグしようとします。キャッチブロックには入りません。この問題を正しくキャッチするには、ここで何ができますか?

+0

キャッチエラー例外ではない – Lino

+1

例外のサブクラスではないjava.lang.NoSuchMethodErrorをキャッチする必要があります。 Exceptionの代わりにThrowableをキャッチするように変更してください。 – TampaHaze

+0

@TampaHazeありがとうございました。私が必要としていたものです。今すぐキャッチできます。 – mJ222398

答えて

-1
catch (NoSuchMethodException e){ 
    e.printStackTrace(); 
} 
+0

あなたの回答をコメントしてください! (そして形式を修正してください) – NatNgs

+0

あなたの答えを精緻化してコードを適切にフォーマットできますか? – RAS

+0

私はこれを既に試していましたが、私の問題は解決しません。コンパイラは、 "NoSuchMethodExceptionの到達不能キャッチブロックです。この例外はtry文の本体からスローされません" – mJ222398

関連する問題