现象:大量try...catch...,newtonsoft.json序列化速度明显降低(9000ms->250ms)。
疑问:大量try...catch...影响性能?(主要性能消耗在于跳转到catch块?)
准则:不要将try...catch...用于处理代码逻辑跳转,仅用于常规异常处理;不要滥用try...catch...
总结:try...catch...对性能的影响取决于catch块是否命中。使用try...catch...处理代码逻辑跳转的场景下,由于可能频繁命中catch,所以会极大影响性能。使用try...catch...处理常规异常的场景下,就正常的系统来说,异常不会频繁出现,也就不会频繁命中catch,所以对性能的影响不大。