「によって発生する」:(テキストは、プロジェクトの情報を隠すために変更されている)Javaの例外が追加さ「:ヌル」私のログに次のように示されるいくつかの例外があります句
java.util.concurrent.ExecutionException:org.xxx.BBBException<br>
at ....<br>
...<br>
Caused by: org.xxx.BBBException: null<br>
at ....<br>
...<br>
なぜ「ヌルがあります"原因句では?
私たちによって作られたBBBExceptionはExceptionを拡張し、toString()をオーバーライドしません。 状況によっては、FutureTask.setException(新しいBBBException( "RPC timed out"))が呼び出され、BBBExceptionがログに記録されることが予想されます。 しかし、例外の詳細メッセージはプログラムで設定したものではなく、最初の行とCaused by句のテキストも一致しません(最初の行に ":null"はありません)。 これがどうして起こったのか誰かが気づいていますか?ありがとう!
環境:java 6、update 21、centos 64-bit、java 64-bit、mixed mode。
私は問題が簡単だったと思います。 Throwableからコピーされたピースコードは次のとおりです。
public String toString() { String str1 = super.getClass().getName(); String str2 = getLocalizedMessage(); return ((str2 != null) ? str1 + ": " + str2 : str1); }
です。 ":"のどちらかにメッセージが含まれていないか、または欠落しています。文字列 "null"をメッセージとして渡したり、return "" + fieldのようなものを持つtoString()をオーバーライドしない限りしかし、どちらも私たちがやったことではありません。 – user1279175