我应该如何处理C#中的这个特殊异常?

时间:2010-02-05 16:12:55

标签: c# exception-handling exception custom-exceptions

我有一个名为“网站”的课程,在该课程内部我有以下属性:

public HtmlForm RegisterForm
{
    get
    {
        if (Forms.RegForm != null) / Forms is a custom object called HTMLForms that is a custom list collection
        {
            return Forms.RegForm;
        }
        else
        {
            // FindPageWithGoogle Google = new FindPageWithGoogle();
            // use Google.FindRegistrationForm(this.currentUrl) method
            //throw new Exception(); // if registration form object can't be found
        }
        return Forms.RegForm;
    }
}

这是处理错误的有效方法吗?如果没有找到它,如果抛出此异常,我将如何暂停程序的整个流程?我知道如何使用简单的try catch,但我认为这还不够。我相信我需要学习如何创建自己的自定义异常处理系统来相应地处理这些自定义事件。

感谢您的帮助。另外,如果你有一本关于异常处理的特定书籍,因为到目前为止我读过的C#书籍并没有多少涉及这个主题,我们将不胜感激。

谢谢,

科迪

1 个答案:

答案 0 :(得分:0)

要终止异常代码,请不要捕获它。

您应该创建一个有意义的异常类(例如InitializationError),然后在发生错误时抛出它。转到可以向用户显示消息并在那里捕获异常的调用代码。您也可以在此时终止该程序。

关于异常处理的书籍,我认为你会发现MSDN chapter on exceptions很有用。

相关问题