1
32
|
2
10
当没有抛出异常时,仅仅添加try/catch块不太可能显著地改变性能,尽管这样做是可行的 可以 防止方法内联(不同的CLR版本有不同的内联规则;我记不清细节了。) 这个 真实的 开销是指实际抛出异常时的开销,甚至这种开销通常也被夸大了。如果你使用例外 适当地 (即,仅在真正异常或意外的错误情况下)则它们不太可能对性能造成重大影响,除非您的服务过于繁琐,无法被视为“正常工作”。 至于您是否应该尽可能多地使用try/catch块-绝对不是!通常情况下,只有在能够 手柄 这是相对罕见的。尤其是,仅仅吞下一个例外几乎是不可能的 总是 做错事。
我写了更多的try/finally块(有效地-几乎总是通过
|
3
2
您肯定应该像这样测试索赔(足够简单),但不,这不会伤害您(这会有成本,但不是1000次)。 抛出异常并处理它们是昂贵的。试一试……接球……最后还不错。
|
4
1
|
5
0
|
6
0
为什么要猜测性能成本,当你可以基准,看看它是否重要? |
7
0
这是一个非常昂贵的手术。另外,也可以尝试捕获块,使代码变得混乱,难以阅读。也就是说,对于大多数情况下会使应用程序崩溃的错误,异常是可以接受的。
IMO不会对正常的程序事件使用exception(比如用户类型为非数字,而您尝试将其解析为数字)。使用正常的程序流构造(即if)。 如果你使用的函数可能会抛出你做一个选择。错误是否严重=>使应用程序崩溃。错误是否非关键且可能=>捕获它(并可能记录它)。 |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |