我可以在其他程序(如类库)中使用用户定义的异常吗?
本文关键字:定义 用户 异常 程序 其他 类库 我可以 | 更新日期: 2023-09-27 18:34:17
这段代码运行良好,但是如果我想在其他程序中使用它,我该怎么做?
是否可以创建像类库这样的异常?如果是,如何?
namespace Exception_CreatingUserDefined
{
public class FirstOperandSmallException : Exception
{
public FirstOperandSmallException(String message) : base (message)
{
}
}
public class operation
{
int op1, op2;
public void operatn()
{
if(op1 < op2)
{
throw (new FirstOperandSmallException("First Operand Should not be Small"));
}
else {
//Do nothing
}
}
}
class Test
{
static void Main(string[] args)
{
operation opr = new operation();
try
{
opr.operatn();
}
catch(FirstOperandSmallException e)
{
Console.WriteLine("FirstOperandSmallException : {0}",e.Message);
}
Console.Read();
}
}
}
正如 Kenny 所说,通过简单地包含您的命名空间,您就可以使用您在其中定义的任何公共类。为此,请执行以下操作:
- 公开异常类(和所需的构造函数)。
- 将此程序集的输出类型更改为"库"类型。为此,请右键单击您的项目并转到"属性"并将输出类型设置为"库"。
此外,类库的常见做法是删除main
(入口)代码,因此它只有类和方法。
我想问为什么首先需要创建这样的异常。 您不会为自定义例外添加任何其他属性。 如果是我,我只会抛出无效操作异常,而不是创建自定义异常。
只有当您有其他数据需要进入异常,或者您有需要专门捕获该异常的代码时,我才会创建自定义异常。 该框架有许多内置的异常,您可以使用它们涵盖一系列问题。