找回密码
 立即注册
首页 业界区 业界 不要把异常当做业务逻辑,这性能可能你无法承受 ...

不要把异常当做业务逻辑,这性能可能你无法承受

铝缉惹 2025-5-29 08:15:33
一:背景

1. 讲故事

在项目中摸爬滚打几年,应该或多或少的见过有人把异常当做业务逻辑处理的情况(┬_┬),比如说判断一个数字是否为整数,就想当然的用try catch 包起来,再进行 int.Parse,如果抛异常就说明不是整数,简单粗暴,也不需要写正则或者其他逻辑,再比如一个字符串强制转化为Enum,直接用Enum.Parse,可能是因为对异常的开销不是特别了解,这种不好的使用习惯也许被官方发现了,后续给我们补了很多的Try前缀的方法,比如:int.TryParse , Enum.TryParse, dict.TryGetValue ,用代码展示如下:
  1.             //原始写法
  2.             var num = int.Parse("1");
  3.             //使用try方式
  4.             var result = 0;
  5.             var b = int.TryParse("1", out result);
复制代码
用Try系列方法没毛病,但这写法让人吐槽,还要单独定义result变量,没撤,官方还得靠我们这些开发者给他们发扬光大
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册