1. 开发错误 - runtime exception 这些异常是由人为编码错误导致,所以是需要在开发过程中修复的。
* 传入参数错误
* 不存在的数据
* 数据格式错误
* ...
2. 已知的业务异常 - checked exception
* 比方说用户无权限处理某些数据
* 某些数据已经过期导致业务无法执行
* 计算数据不符合预期,业务无法
3. 系统异常 - unchecked exception 这些异常多数为硬件异常和跨系统访问组件异常,这些异常极少发生,所以一般都把这个异常做成SystemException,它是一个runtime异常
* 数据库访问异常
* 文件系统访问异常
4. 访问异常 - 客户端访问跨机系统的访问异常,这些异常需要客户端基层组件进行“重联”等操作,实在联接不上,则向上抛出ServiceAccessException.