【发布时间】:2009-08-14 12:51:36
【问题描述】:
在我的 vb.net 应用程序中,如果我有一组已知的错误字符串,即
- 因为我不知道所以失败了
- 失败,因为我知道但我找不到它
- 由于其他原因失败
- 等
我得到一个响应,我想确保其中没有错误字符串
If returnedString.equals("Failed because I don't know about it") then
'do something'
End if
人们如何最好地建议我避免对错误字符串进行硬编码。
理想情况下,可以在此处使用枚举,但无法比较返回的错误字符串。 (如果我错了,请纠正我!)
这些最好作为字符串保存在资源文件中,还是最好为每个错误字符串提供一个带有共享公共属性的 ErrorClass 并检查
If returnedErrorString.equals(ErrorClass.UnknownString) then
'do something'
End if
或者还有其他(更好的?)方法可以做到这一点吗?
编辑:我认为在这种情况下异常建议不是最好的,因为返回的错误代码不一定会导致应用程序失败,但可能会改变程序流程,如向用户显示的内容,我必须查看在错误字符串中,因为这些字符串由我控制并从外部应用程序返回
【问题讨论】:
-
但如果它们来自外部应用程序,那么您对字符串无能为力!已经提出的任何建议都不起作用!
-
但我必须有一种方法来确定外部应用程序返回了什么......因为它可能是错误或成功代码。所以我需要能够说返回的值是否等于这个错误或这个错误或一个成功代码(如果这有意义吗?)
-
是的,这是有道理的。听起来外部应用程序相当老旧,或者不是 .NET 应用程序,因为这种错误/成功代码风格不再使用(至少在 .NET 应用程序中)。我也更新了我的答案 (stackoverflow.com/questions/1277682/…) 以适应您问题的更新。
-
外部应用程序没有关于如何判断它是否是错误以及什么样的建议?他们有错误信息列表吗?他们可能在资源或其他东西中有他们的消息吗?我担心你今天制作常量或资源,明天外部应用程序更改标点符号!
标签: .net vb.net error-handling