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
方法中使用。当传入的对象没有同时实现 IFun1
和 IFun2
接口时,就会抛出 NoDescException
异常。
4.81MB
文件大小:
评论区