最近用.net 5进行开发api, 有点小东西记录一下。
我们这开发的时候需要对参数进行校验,比如 登录的时候查询用户是否存在,存在再校验密码是会否正确。
而我们程序员有时候为了偷懒都会直接判断之后throw 然后再做一个应用级别的全局错误捕捉根据不同的错误类型进行处理 ,而不是再方法里面一级一级的返回到接口,觉得一级一级返回太麻烦了。
这种想法无可厚非,但是我测试了一下 这两种方式在性能上是有天差地别的。下面上图
返回判断后进行返回
逻辑处理时直接抛异常
这两种方法性能上差距还是挺大的,抛异常的方式300ms左右,正常判断返回 10ms左右 ,性能差距30倍!!!!!!