【发布时间】:2017-02-10 17:37:03
【问题描述】:
我对 try catch 的了解有限。但我想知道它是否可以用来获得性能。
例如,我正在创建这个体素引擎,其中一个函数是这样的:
Block GetBlockInChunk(Vector Position){
if(InBound(Position)){
return Database.GetBlock();
}
return null;
}
这里它必须检查给定位置的边界,使用try catch,然后你可以删除它们?
Block GetBlockInChunk(Vector Position){
try{
return Database.GetBlock();
}
catch{
return null;
}
}
我觉得这可能是一种糟糕的做法,但我很好奇。
【问题讨论】:
-
try..catch引入了开销并且不会提高 AFAIK 的性能。 -
也适用于异常情况,默认情况下不使用。在这里检查边界似乎比让它抛出异常更好的方法。
-
啊好吧,有道理。 :)
-
你应该避免异常。只在你没有预料到的地方使用异常。
try不慢,catch是。
标签: c# performance try-catch