java 对外的异常信息常常需要转化的, 没有必要将错误信息直接抛出。例如
1. 实际没有信息。 假若是NPE, getMessage(), 将是没有信息。
2. 太过冗长, 例如一些数据库报错。错误信息很长。 例如:
### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 'xxxx' for key 'xxxxxx' ### The error may involve xxxxx.xxx.xxxbatchInsert-Inline ### The error occurred while setting parameters ### SQL: insert into xxx_table(xxx, xx, xxx) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW(), 0 ) , ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
3. 外部不好理解 或者不需要理解