博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编码习惯之异常处理
阅读量:6324 次
发布时间:2019-06-22

本文共 740 字,大约阅读时间需要 2 分钟。

编码习惯之异常处理


@(常识)

对于 系统或者是其他的大型IT系统,最怕的事情

  • 第一是系统出现了异常我不知道,等问题闹大了用户投诉了才知道出问题了。
  • 第二就是出了问题之后无法找到出错原因。

针对这2个问题,说说我对异常是怎么样想的和规定异常处理的。

第一个问题,系统出异常了我不知道,等技术支持问的时候才知道。

这个问题出现非常多,而且非常严重。经常会出现用户反馈、投诉过来说某个功能不可用,技术支持找的时候开发人员再定位分析之后,才发现之前的某一步出错了。随着 业务流程越来越复杂,和周边子模块一堆集成,一堆的后台队列任务,任何一块都可能出问题。

举几个例子:

技术支持:呀,透传云又传不了数据了?NB模块下发命令又发不下去了?设备怎么添加失败啊?

开发人员:好,我查一查。

开发人员A:哎哎哎,世超你看看看 API 是不是获取数据有问题啊,志远NB服务器是不是停了啊。。。。。

针对某些业务,在流程上当然可以采取相对的策略来保证,但从开发的角度来说,任何规定都无法保证一定不会发生错误,老虎也有打盹的时候,我只相信代码。

代码方面:

  1. 没事不要乱try catch 尤其是 API 异常都抛出来怎么了 一个e.getMessage包装到data数据区再加个错误码怎么了? 直接抛到最上层用统一的全局异常处理去处理,里面做机制比如说:邮件或微信推送到开发组长和开发人员那里。(尤其是后台队列之类的操作)
  2. 新手最容易犯的错误,到处捕获异常,到处加空判断,自以为写出了“健壮”的代码,实际上完全相反。导致的问题,第一代码可读性很差,你如果工作了看到一半代码是try-catch空判断你会同意我的观点的,第二更加重要的掩盖了很多错误,日志是不会有人看的,我们的目的是尽早让错误抛出来。

转载地址:http://htmaa.baihongyu.com/

你可能感兴趣的文章
对BBS中一个问题的解答
查看>>
Linux系统基础调优
查看>>
Chrome源码剖析 【序】 && 【一】
查看>>
Redis 3.0 新特性,支持redis 集群
查看>>
mysql主从
查看>>
PHP转换emoji表情为HTML字符实体
查看>>
exchange 2016 辅助角色
查看>>
SQLServer 延迟事务持久性
查看>>
atomikos 创建数据源,报Max number of active transactions
查看>>
关于mount在unix系统上
查看>>
Linux CentOS 硬盘分区、格式化、挂载与卸载
查看>>
Configuration Manager 内置报表列表04
查看>>
linux logrotate 配置
查看>>
在Linux下如何查CC攻击?
查看>>
Android待调研基础知识
查看>>
白领"刷脸族"串红 人脸识别产品热销
查看>>
jQuery如何获取选中单选按钮radio的值
查看>>
rpm
查看>>
Vue.js 总结
查看>>
pip2 与 pip3
查看>>