Constructs a new error with the specified cause and a detail
message of (cause==null ? null : cause.toString()) (which
typically contains the class and detail message of cause).
This constructor is useful for errors that are little more than
wrappers for other throwables.

Parameters:

cause the cause (which is saved for later retrieval by the
java.lang.Throwable.getCause() method). (A null value is
permitted, and indicates that the cause is nonexistent or
unknown.)