gpt4 book ai didi

c# - 那么最好使用try/catch吗?

转载 作者:太空狗 更新时间:2023-10-29 20:24:14 26 4
gpt4 key购买 nike

<分区>

什么时候使用 try 和 catch 最好?当我使用 try and catch 回答问题时,我得到了愤怒的回应(有些甚至 -1 我......)我用谷歌搜索并找到了这个 article还有这个计算器 question .

举几个例子:

  1. 我有一个下拉列表 time zone IDs ,当用户选择他的时区时,我正在更新数据库。在其他应用程序中,我从数据库中提取这个值并重新计算用户当前时间和日期。有一个选项是数据库中的数据拼写错误(数据库中的硬编码更改或错误)。在用户日期时间的转换方法中我使用的是try and catch,有人告诉我这是错误的!。我可以使用 for 循环检查数据库中的值,但每次转换日期时间都会花费更多...

  2. 我必须使用以下代码声明 XML 文件的格式是否正确:

    protected bool IsValidXML(string xmlFile)
    {
    try
    {
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlFile);
    }
    catch(XmlException ex)
    {
    ///write to logger
    return false;
    }
    return true;
    }

    我看不到任何其他检查 xml 文件的方法。

  3. 有时我的应用程序有一部分正在写入文件。由于多种原因,写入文件可能会导致异常,某些其他进程在写入时正在使用此文件或其他。所以通常我使用这段代码:

     using (StreamWriter w = new StreamWriter(fs))
    {
    try
    {
    w.Write("** (Line) " + someValue + " **" + Environment.NewLine);
    w.Flush();
    }
    catch(IOExeption ex){}
    finally
    {
    w.Close();
    }
    }

总而言之,我看到了一些使用 try 和 catch 的方法以及不使用的方法。我在文章中看到的一句话说 If an exception happen, you need to know about it. ,但是在大多数情况下处理通用应用程序时我知道会发生异常,但大多数情况下有时我真的不知道为什么会发生,所以我之前无法捕捉到它(就像我写的例子),所以什么时候最好使用 try and catch

在 ASP.NET 中,页面有一个 Error 事件,您可以像这样捕获它:

this.Error += new EventHandler(Page_Error); //this = instance of System.Web.UI.Page

事件和try catch问题一样吗??

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