【发布时间】:2009-06-10 13:55:47
【问题描述】:
感谢this question 的输入,我决定让我的 Create() 方法抛出异常,正如 Jon Skeet 所说,您不必到处处理它们,并且可以让它们冒泡,似乎是大型应用程序的最佳方法。
所以现在我用这段代码创建我的类的实例:
try
{
SmartForms smartForms = SmartForms.Create("ball");
smartForms.Show();
}
catch (CannotInstantiateException ex)
{
Console.WriteLine("Item could not be instantiated: {0}", ex.Message);
}
自定义异常:
using System;
namespace TestFactory234.Exceptions
{
class CannotInstantiateException : Exception
{
}
}
我如何知道要使用哪个 Exception 类?
在上面的例子中,我创建了自己的异常,因为我不知道从哪里获得“所有系统异常”的列表,或者是否有一个“无法实例化对象”或者它是否有使用它的其他一些含义等。选择异常类型对我来说似乎是一个任意过程,所以创建我自己的似乎是最好的主意。
还是我错过了一些关于异常的东西?决定使用哪种异常类型涉及哪些其他影响?
【问题讨论】:
标签: c# exception custom-exceptions