我有一個關於在沒有拋出異常的情況下使用異常處理的效率後果的假設性問題。什麼都沒有拋出時的異常效率
先來看看這個C#:
int simpleSimon, cautiousCarol, dangerousDave;
try
{
simpleSimon = int.Parse("fail");
}
catch
{
simpleSimon = 1;
}
try
{
cautiousCarol = int.Parse("1");
}
catch
{
cautiousCarol = 1;
}
dangerousDave = int.Parse("1");
我相信,Dave的代碼會以最快/最有效的;而西蒙會因拋出異常而招致鉅額罰款。
但卡羅爾呢?她沒有例外,她會受到懲罰嗎?如果是這樣,那麼什麼樣和多大? (性能損失還是額外的內存使用或其他?)
變量名+1! – JonH 2011-02-16 18:39:34