一:背景
1. 讲故事
在项目中摸爬滚打几年,应该或多或少的见过有人把异常当做业务逻辑处理的情况(┬_┬),比如说判断一个数字是否为整数,就想当然的用try catch
包起来,再进行 int.Parse
,如果抛异常就说明不是整数,简单粗暴,也不需要写正则或者其他逻辑,再比如一个字符串强制转化为Enum,直接用Enum.Parse
,可能是因为对异常的开销不是特别了解,这种不好的使用习惯也许被官方发现了,后续给我们补了很多的Try前缀的方法,比如:int.TryParse
, Enum.TryParse
, dict.TryGetValue
,用代码展示如下:
//原始写法
var num = int.Parse("1");
//使用try方式
var result = 0;
var b = int.TryParse("1", out result);
用Try系列方法没毛病,但这写法让人吐槽,还要单独定义result变量,没撤,官方还得靠我们这些开发者给他们发扬光大
标签:当做,逻辑,00007fff,承受,System,calling,00000000,MethodDesc,clr From: https://blog.csdn.net/s44359487yad/article/details/140123501