There are some exceptions shown as follows in my log: (the text has been modified to conceal project information)

```
java.util.concurrent.ExecutionException:org.xxx.BBBException<br>
&nbsp;&nbsp;at ....<br>
&nbsp;&nbsp;...<br>
Caused by: org.xxx.BBBException: null<br>
&nbsp;&nbsp;at ....<br>
&nbsp;&nbsp;...<br>

```

Why is there "null" in the Caused by clause?

BBBException, which was made by us, extends Exception and does not override toString().
In some situations, FutureTask.setException(new BBBException("RPC timed out")) is called and BBBException is being expected in the log.
However, the exception's details message is not what we set in the program and the text in the first line and Caused by clause even do not match (there is no ": null" in the first line).
Anyone has a clue why this has happened? Thanks!

Environment: java 6, update 21, centos 64-bit, java 64-bit, mixed mode.