第16章 异常和错误的捕捉与处理.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16章 异常和错误的捕捉与处理

第十六章 异常和错误的捕捉与处理 16.1 什么是异常和错误 1 16.1.2 异常的概念和在ActionScript 3中的实现 1 16.13 使用异常处理机制的好处 1 16.2 使用try—catch—finally处理异常 1 16.2.1 try 2 16.2.2 catch 2 16.2.3 finally 2 16.2.4 try—catch—finally的语法规则 2 16.3 使用throw抛出异常 2 16.3.1 抛出Error类或其子类的实例 3 16.4 自定义异常 3 16.5 ActionScript 3 中异常的层次和结构 4 16.6 处理异常的原则和方式 4 16.6.1 三大提倡 4 16.6.2 三大忌讳 4 16.7 对异常事件的处理 4 16.1 什么是异常和错误 异常和错误时指程序执行时遇到的任何错误情况或意外行为。 16.1.2 异常的概念和在ActionScript 3中的实现 异常可以理解成一类消息,表示程序出错的消息。 异常分为:同步异常用try—catch来处理; 异步异常采用事件侦听机制来处理。 16.13 使用异常处理机制的好处 通过try—catch—finally将异常处理托付给异常方法的调用者。方法调用者,一般更加了解异常的原因,以及异常发生的环境,可以更加准确的选择处理方法。 16.2 使用try—catch—finally处理异常 示例: package { import flash.display.Sprite; import .Socket; public class SecurityErrorExample extends Sprite { public function SecurityErrorExample() { var targetServer:String = ; var port:uint = 66666; try{ var socket:Socket = new Socket(); socket.connect(targetServer,port); //注意,一旦异常发生后,下面这句trace就不会执行到的 trace(try end); } catch (e:SecurityError){ trace(e); //输出:SecurityError: Error #2003: 指定的 socket 端口号无效。 } finally{ trace(finally ended!); //输出:finally ended! } } } 16.2.1 try 存放可能出错的语句 16.2.2 catch 异常一旦发生,如果 try{} 后面跟着 catch ,那么会有以下几件事发生: (1)生成异常对象(Error 类实例或其子类实例),try块中语句执行立刻中止。 (2)AVM 会按catch语句块出现的先后顺序,查找和异常对象应用的catch 块。 (3)一旦发现异常和catch()中定义的异常类型相符,就会被catch “抓住”。抓住之后 , 就会交给这个catc h块中的语句处理。 catch输出的内容可自行设定错误发生时输出的错误提示 16.2.3 finally finally是可选的,不是必需的。finally只能有一个。可以添加一些清除内存的语句。 16.2.4 try—catch—finally的语法规则 一、try后面至少要跟一个catch语句块或者finally语句块。否则会报错 “1073:语法错误:需要catch或finall y子句”。 二、try后面可以跟有多个catch语句块。一个catch块处理一种异常类型。Catch块的顺序应根据所处理的具体异常类型来排列。一般来说,从最具体的Error子类到最不具体的Error 类顺序来先后排列。 三、catch语句块里面可以再嵌套try-catch-finally的结构。 16.3 使用throw抛出异常 public function Error(message:String = “”,id:int = 0) 用法一:声明错误对象 var error:Error = new Error(abc); throw error; 用法二:抛出语句 throw new Error(abc); 16.3.1 抛出Error类或其子类的实例 package{ import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ try

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档