gpt4 book ai didi

c# - 异常处理最佳实践

转载 作者:太空狗 更新时间:2023-10-30 00:32:28 26 4
gpt4 key购买 nike

我想知道哪种是进行异常处理的最佳方法,因为在我的Try 语句中,我有很多验证,如果我得到一些Exception 那里,我的 Catch 语句可以告诉我发生了什么,但我怎么知道在哪个字段中发生了 Exception

示例代码

try
{
// If I get a Exception when converting to number,
// I will understand the error
// but how could I know where in my `Try` statement was the error ?
int valor = Convert.ToInt32(xmlnode[i].ChildNodes.Item(2).InnerText.Trim());
// A Lot of another validations here
}
Catch(Exception e)
{
this.LogInformation(e.Message);
}

最佳答案

最佳做法是在将字符串转换为数字时根本不使用 Try-Catch。因此,您应该使用 TryParse 方法,例如 int.TryParse

// note that here is also a possible error-source
string valorToken = xmlnode[i].ChildNodes.Item(2).InnerText.Trim();
int valor;
if(!int.TryParse(valorToken, out valor))
{
// log this
}
// else valor was parsed correctly

除此之外,如果您想提供准确的错误消息,您必须使用多个 try-catch 或处理不同的异常类型(最通用的 Exception 类型必须是最后一个)。

关于c# - 异常处理最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472268/

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