我有一个假设的问题,关于在不抛出异常的情况下使用异常处理的效率后果.
首先看看这个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");
我相信戴夫的代码将是最快/最有效率的;而西蒙则会因为抛出异常而受到很大的惩罚.
但是卡罗尔怎么样?她没有例外,她会受到惩罚吗?如果是这样,那么什么样和多大? (性能损失或额外的内存使用或其他任何内容?)