🗒️代码腐化|Node如何规避致命错误
type
status
slug
date
summary
tags
category
password
icon
代码腐化
导致问题原因有很多种,比如:时间紧张、业务不熟悉等因素
- try catch嵌套导致方法调用链路丢失:
- catch 到异常打印 errorMessage,没有堆栈信息
- 直接 new 一个 error,放入上一个 error 的 errorMessage,看日志根本找不到问题链路
- 不考虑异常或边界条件考虑不足情况:
- 对于异常数据的提前终止,如果没有处理会导致排查问题的链路很长
- 很多情况下,和高质量代码对比,差异就在异常处理和边界条件判断上;但是这些这些很多都是凭借感觉和业务经验来处理
- 关键信息没有打印:
- 异常的数据状态,或者业务逻辑(不报错或者不影响关键链路可以用 warn 标识出来)
- 正常情况下日志满天
- 变量名称、类型、数据库、注释保持上下文通义(多个系统内统一)
规避致命错误
- 异步方法 try catch里面套异步方法
- 这种只能够在里面方法处理异常情况,如果里面报错了可能会导致 node 进程退出
- 循环中ojb[str] = ‘’ 的 str 为 ‘’空字符串导致 CPU100%
上一篇
Node CPU100% 问题分析解决
下一篇
Node原子计数器
Loading...