gpt4 book ai didi

vb.net - Try/Catch block 的最低要求

转载 作者:行者123 更新时间:2023-12-05 09:23:42 24 4
gpt4 key购买 nike

我在 previous question 中发布了一个代码示例这是关键部分:

Try
first = _string.IndexOf(_firstchar) + 1
second = _string.IndexOf(_secondchar)
If first >= 1 And second >= 0 Then
retval = _string.Substring(first, second - first)
End If
Catch ex As Exception
End Try

一位有经验的 VB 用户说 Try/Catch 的这种用法是“邪恶的”。

为什么这样的用法是“邪恶的”?当我们不想被错误打扰时,什么足以让程序继续运行?

最佳答案

一个空的 Catch block 是邪恶的,因为它可以隐藏您应该处理的异常。 Try-Catch 在这里是多余的,您应该为第二个使用带有起始索引的重载:

first = _string.IndexOf(_firstchar)      
If first >= 0 Then
first += 1
second = _string.IndexOf(_secondchar, first)
If second >= 0 Then
retval = _string.Substring(first, second - first)
End If
End If

请注意,您应该使用 AndAlso 而不是 And

关于vb.net - Try/Catch block 的最低要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19339377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com