【发布时间】:2014-01-26 23:23:50
【问题描述】:
我有一个应用程序,我经常使用Exceptions。
最近我听说异常在性能方面的成本很高。
我的应用如下所示:
Try
{
Function1();
Function2();
Function3();
Function4();
}
catch(Execption ex)
{
//I return to the user the error (ex) that happen inside the
//function that fails
}
我的每个函数 1,2,3 等看起来都与此类似..
Void Function1()
{
//Do something...
//If something fail
Throw New Exception("Fails because bla bla");
//Do something...
//If something fail
Throw New Exception("Fails because bla bla bla bla");
//If everything its ok, just continue without throwing anything
}
这是糟糕的设计吗?
这会影响我的应用程序性能吗?
【问题讨论】:
-
不要使用异常来控制程序流程。
-
线索在“例外”一词中。这是您可以在网上和 Microsoft 轻松找到的信息!
-
@RicardoPolo 异常,适用于异常情况,不适用于普通程序流程。
-
某个函数失败并抛出异常之一的概率是多少?如果低于 2%(任意推测),则例外情况很好。如果它更多,那么异常可能是错误的。