C#入门:定制异常类与.NET框架详解

需积分: 0 1 下载量 61 浏览量 更新于2024-08-13 收藏 4.81MB PPT 举报
在C#入门经典教程中,我们探讨了如何创建定制异常类以处理特定情况下的程序错误。首先,理解异常处理在软件开发中的重要性,它是程序健壮性和可维护性的一部分。在这个例子中,`NoDescException` 是一个自定义异常类,继承自 `ApplicationException`,提供了构造函数的不同重载,以便根据需要传递消息和内嵌异常。 创建自定义异常类时,需要定义明确的行为和消息,例如: 1. 默认构造函数:`public NoDescException()` 用于无参数实例化。 2. 带字符串消息的构造函数:`public NoDescException(string message)` 用于传递具体的错误信息。 3. 带字符串消息和内嵌异常的构造函数:`public NoDescException(string message, Exception innerEx)` 用于包装现有异常并附带额外描述。 接下来,接口 `IFun1` 和 `IFun2` 定义了方法 `ShowMe()`,这展示了接口在面向对象设计中的作用。`Circle` 类实现了 `IFun1` 接口,表明它可以执行接口所指定的方法。然而,在 `ObjShowMe` 类中,`ShowMe(object obj)` 方法检查传入的对象是否实现了两个接口,如果没有,会抛出 `NoDescException` 异常,指出对象没有实现相应的功能。 在 `MyApp` 类的 `Main` 方法中,我们看到如何捕获并处理这个自定义异常。当尝试调用 `ObjShowMe.ShowMe(myCir)` 时,如果 `myCir` 不符合接口要求,就会引发异常,程序会捕获并打印出错误消息。 这部分内容涵盖了C#语言的基础,包括.NET Framework的结构(如Common Language Runtime (CLR), Just-In-Time (JIT) 编译,Common Type System (CTS),以及中间语言 (MSIL)),命名空间的使用,以及C#语言的特点,如面向对象、与.NET平台的兼容性以及它如何平衡了C++的灵活性和效率。此外,还介绍了.NET代码的编译过程,与传统的编译器和运行时的区别,强调了C#作为.NET战略的核心组成部分,适用于多种应用场景,包括互联网服务、数据库应用和Windows界面程序开发。 这部分内容帮助初学者理解如何在C#中创建定制异常类,并将其融入到面向对象的程序设计中,同时展示了.NET框架在高效开发和兼容性方面的优势。