Does Try-Catch in C#/Java affect execution speed
在
我知道还有其他因素也会影响速度,但这会减慢程序的速度吗?
通常,只要不引发异常,它就不会对代码产生影响。当抛出异常时,通常会减慢应用程序的速度,因为这是一个代价高昂的操作。不过,这里有一个非常有趣的讨论,您应该阅读一下。
当u个未处理的异常和未处理的异常导致性能低下时,它会影响看看这个可能会有帮助TYR/渔获量
例如,您在ComboBox选择的索引更改事件上放置了一些代码
1 2 3 4 | private void cmbMedium_SelectedIndexChanged(object sender, EventArgs e) { //Some Code } |
在窗体加载事件中设置数据源或在组合框中添加项,而不是在设置数据源或添加项
1 2 3 4 5 6 7 8 9 | private void cmbMedium_SelectedIndexChanged(object sender, EventArgs e) { Try { //Some Code } catach(Exception ex) {} } |
比此类型的未处理异常导致低性能
只有当您的程序因得到意外的输入而出错时,才会执行Try-Catch块。否则它只是用来设置标志。所以它不会影响执行时间或速度。
是的,尝试/捕获会影响您的性能。有关详细信息,请查看此链接。
不确定Java,但是在C语言中,成本非常低,但是,我怀疑这样做的逻辑。我更喜欢尤达方法。做还是不做。没有尝试。
你想让接球台做什么?如果您对日志记录感兴趣,可以使用异常过滤器(在vb.net中捕获)在异常首次发生时捕获有关该异常的信息,并使用反射记录所有类型的数据。
由于您的应用程序是数据库驱动的,所以我想说,数据库调用所花费的时间很可能会使try/catch块带来的性能损失相形见绌。如果Try/Catch是您要做的事情的适当构造,那么一定要这样做。