C#新手教程:打造你的专属异常

想不想在 C# 中用上自己定义的异常?一起来看看吧!

using System;

// 创建一个名为 NoDescException 的自定义异常类
public class NoDescException : ApplicationException
{
    public NoDescException() { }
    public NoDescException(string message) : base(message) { }
    public NoDescException(string message, Exception innerEx) : base(message, innerEx) { }
}

// 定义接口 IFun1 和 IFun2
public interface IFun1 { string ShowMe(); }
public interface IFun2 { string ShowMe(); }

// Circle 类实现了 IFun1 接口
class Circle : IFun1
{
    public string ShowMe() { return "Circle-IFun1"; }
}

// ObjShowMe 类包含一个静态方法 ShowMe
public class ObjShowMe
{
    public static void ShowMe(object obj)
    {
        // 检查传入的对象是否同时实现了 IFun1 和 IFun2 接口
        if (!(obj is IFun1 && obj is IFun2))
        {
            // 如果没有,则抛出 NoDescException 异常
            throw new NoDescException("Interface not implemented for " + obj.ToString());
        }
    }
}

// 主程序入口
public class MyApp
{
    static void Main()
    {
        Circle myCir = new Circle();

        try
        {
            ObjShowMe.ShowMe(myCir);
        }
        catch (NoDescException ex)
        {
            // 捕获并处理 NoDescException 异常
            Console.WriteLine(ex.Message);
        }
    }
}

这段代码演示了如何创建一个自定义异常类 NoDescException,并在 ObjShowMe 类的 ShowMe 方法中使用。当传入的对象没有同时实现 IFun1IFun2 接口时,就会抛出 NoDescException 异常。

ppt 文件大小:4.81MB