我可以在其他程序(如类库)中使用用户定义的异常吗?

本文关键字:定义 用户 异常 程序 其他 类库 我可以 | 更新日期: 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(入口)代码,因此它只有类和方法。

我想问为什么首先需要创建这样的异常。 您不会为自定义例外添加任何其他属性。 如果是我,我只会抛出无效操作异常,而不是创建自定义异常。

只有当您有

其他数据需要进入异常,或者您有需要专门捕获该异常的代码时,我才会创建自定义异常。 该框架有许多内置的异常,您可以使用它们涵盖一系列问题。