C#编程:自定义异常类与.NET Framework应用

需积分: 0 2 下载量 93 浏览量 更新于2024-08-19 收藏 4.81MB PPT 举报
"这篇教程介绍了如何在C#中创建自定义异常类,通过实例展示了如何抛出和捕获自定义异常。此外,还简要概述了C#语言和.NET平台的基础知识,包括.NET Framework的组成、JIT编译、CTS和MSIL。文章通过C#代码示例解释了C#程序的基本结构,并提到了C#语言的设计理念,如面向对象特性和与.NET框架的紧密集成。" 在C#编程中,有时我们可能需要根据特定的业务逻辑或需求抛出具有定制错误信息的异常。在给定的代码中,`NoDescException` 是一个自定义异常类,它继承自 `ApplicationException`。自定义异常通常用于扩展内置异常类型,以提供更具体的错误信息。`NoDescException` 包含三个构造函数,分别用于无参数、带消息和带内嵌异常的初始化,这与标准异常类的构造函数一致。 接下来,代码展示了接口 `IFun1` 和 `IFun2`,它们代表两种不同的行为。`Circle` 类实现了 `IFun1` 接口,但没有实现 `IFun2`。`ObjShowMe` 类包含了一个静态方法 `ShowMe`,该方法接受一个 `object` 参数,检查这个对象是否同时实现了 `IFun1` 和 `IFun2` 接口。如果没有实现,`ShowMe` 方法会抛出自定义的 `NoDescException` 异常。 在 `Main` 方法中,创建了一个 `Circle` 类的实例 `myCir`,并尝试调用 `ObjShowMe.ShowMe(myCir)`。由于 `myCir` 只实现了 `IFun1`,所以会抛出 `NoDescException`,并在 `catch` 块中被捕获并打印错误消息。 关于.NET Framework,它是微软提供的一个开发平台,它包括Common Language Runtime (CLR)、Just-In-Time (JIT) 编译器、Common Type System (CTS) 和 Microsoft Intermediate Language (MSIL)。CLR是.NET Framework的核心,负责代码的管理和执行。JIT编译器将源代码编译成机器码,而CTS确保不同编程语言之间的类型兼容性。MSIL是一种中间语言,所有.NET语言编译后的代码都会转换成MSIL,然后在运行时由JIT编译为本地机器码。 此外,C#作为.NET平台上的主要编程语言,具有面向对象、现代语法的特点。它支持类、接口、继承、多态等面向对象特性,同时也具备高级特性如泛型、lambda表达式和LINQ等。C#与.NET Framework的紧密结合使得开发者能够高效地开发各种应用程序,包括桌面应用、Web应用以及移动应用。通过.NET Framework,C#代码可以在多个平台上运行,提供了跨平台的能力。