Jon*_*eet 10
我可以发誓几天前就有这样的问题了,但我找不到......
只是添加try/catch块不太可能在不抛出异常时显着改变性能,尽管它可能会阻止方法被内联.(不同的CLR版本在内联方面有不同的规则;我不记得细节.)
在真正的代价是当异常被抛出实际-甚至是费用通常是夸大了.如果您恰当地使用异常(即仅在真正异常或意外的错误情况下),那么除非您的服务太过于无法被视为"正常工作",否则它们不太可能成为重大的性能损失.
至于你是否应该尽可能多地使用try/catch块 - 绝对不行!如果你真的可以处理它,你通常应该只捕获一个例外- 这是相对罕见的.特别是,吞下异常几乎总是错误的做法.
我写了更多的try/finally块(有效 - 几乎总是通过using语句)而不是try/catch块.Try/catch有时适用于堆栈的顶层,因此即使一个请求失败,服务也可以继续处理下一个请求,否则我很少捕获异常.有时值得捕获一个异常,以便将它包装在一个不同的异常中 - 基本上是翻译异常而不是真正处理异常.
| 归档时间: |
|
| 查看次数: |
13462 次 |
| 最近记录: |