- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象编程——异常 在本章,你将学到: 在C# 中异常的分类 在C# 中异常的处理机制 在C#中处理异常的类及类中的方法有哪些 异常是在程序执行期间发生的错误情况。 当一个异常在程序中发生的时候,系统抛出一个错误。 错误通过异常处理过程被处理。 在程序中发生的错误的类型有三种。它们是: 语法错误:语法错误发生在语句没有适当构造、关键字被拼错或标点被忽略的时候。 运行时错误:运行时错误发生在程序试图完成一个操作,但它在运行时不被允许。 逻辑错误:逻辑错误发生在程序编译和运行正常但没有产生预期的结果的时候。 让我们了解错误类型的详细信息。 许多异常类都直接或间接的派生自System.Exception类。 这些类有: System.ApplicationException 类 System.SystemException 类 System.SystemException是所有预定义系统异常的基类。下表描述了一些派生自System.System Exception类的类: 在异常处理中,程序被分成代码块。 一个显示可能产生错误的块包含一个或者多个异常处理程序。 异常处理遵守一个控制结构和一个处理系统级和程序级错误的统一方式。 这些异常处理块可以使用下面的关键字实现: try catch finally 让我们了解这些关键字的详情。 try 块: try块监视可能抛出异常的语句。以下是 try 块的语法: try { //statements that may cause an exception } try块管理包含在它内部的语句,定义与它相关的异常处理程序的范围。 try块必须至少有一个catch块。 catch 块: catch块的语句使用一个异常类的对象作为参数,它引用一个产生的异常。 你可以通过提供一个或更多catch处理程序将一个异常处理程序与try块相联系,紧挨着try块之后: try { //statements that may cause an exception } catch (…) { //error handling code } 多重 catch 块 finally 块: finally块被用于执行一个给定的语句集,不论异常是否被抛出。 try { //statements that may cause an exception } catch (…) { //error handling code } finally { //statements to be executed } 问题描述: David正在为一个项目工作,其中他正在计算一个整型数组中的总和。David需要处理当他使用数组时发生的异常。如果David在执行程序的时候遇到了任何异常情况,程序需要显示一个异常消息。 在C#中,你可以创建你自己的异常类。这种类型的异常被称为用户自定义异常。 在C#中Exception必须是所有异常的基类。 用户定义异常类必须遵守要么异常类的层次或一个标准的继承类。 用户自定义异常类派生自ApplicationException类。 为了实现用户自定义异常,你需要: 生成你自己的异常:你可以使用throw语句来产生你自己的异常。 抛出对象:你可以抛出一个对象,如果对象是直接或间接派生自System.Exception。你可以使用在catch块中的throw语句来抛出当前对象,如下面的代码所示: catch(Exception caught) { . . . throw caught } 使用C#进行面向对象编程 目标 描述异常 错误的类型 class Errors { Console.WriteLine(“Enjoy Errors”) } Console.WriteLine 语句缺少分号 语法错误 class Errors { int Num1=0; int Num2=20; int Num3; Num3=Num2/Num1; Console.WriteLine(“The Result is {0}”, Num3); } 发生了除以零的情况 运行时错误 class Errors { int Num1=10; int Num2=2; int Num3; Num3=Num2/Num1; Console.WriteLine(“The Result is {0}”, Num3); } 期望结果 = 5 当前结果 = 0.2 逻辑错误 异常类 异常类(续) 处理程序内存分配的错误 System.OutOfMemoryException 处理在类型匹配中产生的错误 System.InvalidCastException 处理在除法中除数为0的过程中产生的错误 Syst
您可能关注的文档
最近下载
- 3.13《丹顶鹤生活在哪里》课件.ppt VIP
- 《矿业权评估指南》.pdf VIP
- 教科版五下第一单元第5课当环境改变了 课件.pptx VIP
- 2025年湖北省咸宁市崇阳县人才引进(39人)考前自测高频考点模拟试题及答案详解(考点梳理).docx VIP
- 年产5万吨聚乳酸纤维(玉米纤维)生产线可行性研究报告.doc
- 矿洗煤厂走廊改造加固施工方案.doc VIP
- 《入党志愿书》空白电子版.pdf VIP
- 水土保持学课件-水土保持监测与管理.pptx VIP
- 高考英语词汇3500电子版.pdf VIP
- 2025年湖北省咸宁市崇阳县人才引进(39人)笔试备考试题含答案详解(夺分金卷).docx VIP
文档评论(0)