Effective Java - 在详细信息中包含捕获的失败信息

第75条 在详细信息中包含捕获的失败信息

  1. 异常类型的toString方法应该尽可能多地返回有关失败原因的信息
  2. 为了捕获失败,异常的详细信息应该包含所有方便查询异常原因的参数和域的值
  3. 要在详细信息中包含密码,加密密钥等

思考

  1. 如果是一些特别的异常,我一般习惯直接throw RuntimeException,在String构造方法中添加一些核心的参数。或者在即将抛出异常的时候,把一些核心参数的序列化结果记录在log中,只抛出一个空的RuntimeException

第77条 不要忽略异常

  1. 空的 catch 块会使异常达不到应该有的目的
  2. catch 块应该包含一个注释,解释为什么这样做是合适的,并且该变量应该被命名为 ignore
  3. 正确地处理异常能够彻底挽回失败。只要将异常传播给外界,至少会导致程序快速失败,从而保留了有助于调试该失败条件的信息

思考

  1. 我们平常处理异常的方法都是catch住然后再throw RuntimeException。千万不要什么都不做,不然可能不报错的目的达到了,但是导致了很多错误的数据存储了下来
  2. 应该定义一个全局的返回结果,如果后台抛出异常就在后台log中记录,返回前台error
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容