- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java语言的异常处理机制的研究.doc
基于Java语言的异常处理机制的研究
摘要:Java是一种面向对象的程序设计语言,其异常处理机制是Java语言的一大特色。本文讨论了Java的异常处理机制,并指出了异常处理机制使用中的常见错误模式及注意事项,以便更好的利用Java解决实际问题。
关键字:Java; 异常; 异常处理机制; 错误模式
引言:异常是一个运行时错误。在不支持异常处理的计算机语言中,错误必须被手工检查和处理——典型的是通过错误代码的运用等等,这种方法既笨重又麻烦。Java的异常处理机制避免了这些问题,采用面向对象的方法来管理运行时错误。
异常处理思想的由来
异常即程序运行时出现的非正常情况。在程序的运行过程中随时都有可能发生错误的可能。这些错误可能是由于包含不合法的输入数据所造成的,或者是数组越界存取,还可能是因为试图使用空引用来引用对象。当这些错误发生时,通常希望程序能够智能化地处理,而不会导致系统的崩溃或数据的丢失。错误处理的终极任务就是将错误从发生地传递到能够处理它的地方。
图1、传统的错误处理方式
在传统的非面向对象的编程语言中,错误处理的任务全落在程序员身上,这样做有两个去缺点,一是程序员的负担过重,二是出错处理不规范,不利于程序员之间的协作沟通,而且降低了程序的可读性。在Java中使用异常为程序提供了一种有效的错误处理方式,使得方法的异常中止和错误处理有了一个清晰的接口:当一个方法引发一个异常之后,可以将异常抛出,由该方法的直接或间接调用者处理这个异常。这就是常说的catch-throw?(捕获-抛出)方式。这种处理方式使得错误的处理规范化, 程序员可以用一致的方式来处理错误。
Java的异常处理机制
Java异常处理机制基于三中操作:声明异常、抛出异常和捕获异常。具体见图2。
图2、异常处理机制的操作流程
声明异常告诉编译程序哪里可能出错。当一个语句引起错误时,含有这个语句的方法就
会创建一个异常对象并将它传递给系统。异常对象包含有关异常的信息,包括它的类型和出错时程序的状态。一个方法抛出异常后,Java运行系统开始寻找用来处理错误的代码。处理错误的代码称为异常处理器,从当前的方法开始,通过方法调用链向后有哪些信誉好的足球投注网站,查找这一代码。处理器必须与抛出的异常类型相匹配,如果未发现异常处理器,程序就会中止。任何不是被你程序捕获的异常最终都会被系统提供的默认处理程序处理。默认处理程序显示一个描述异常的字符串,打印异常发生处的堆栈轨迹并且终止程序。
Java异常处理机制的规则
具体而言Java的异常处理通过5个关键字控制:try、catch、throw、throws和finally。想要进行异常监控的代码被包含在一个try块中。如果在“try”块中发生异常,它被抛出。程序代码可以捕捉这个异常(用catch)并且用某种合理的方法处理该异常。系统产生的异常在Java运行时被系统自动引发。手动引发一个异常,用关键字throw。任何被引发方法的异常都必须通过throws子句定义。任何在方法返回前绝对被执行的代码都被放置在finally块中。下面是一个异常处理的通常形式:
try{ // block of code to monitor for errors }
catch(ExceptionType1 ex0b) { //exception handler for ExceptionType1 }
catch(ExceptionType2 ex0b) { //exception handler for ExceptionType2 }
//…
finally { //block of code to be executed before try block ends }这里,ExceptionType 是发生异常的类型。声明抛出异常:在Java中程序可以用throw语句引发明确的异常。Throw语句的通常形式为:“throw ThrowableInstance;”。在方法中声明异常:在throws子句中,可以声明方法中可能出现的异常从而告诉编译器它可能会产生哪些异常,从而要求用户必须考虑对这些异常的处理。一旦异常被抛出,程序控制由try块转到catch块。执行永远不会从catch块“返回”到try块。一旦执行了try和它的catch语句,程序控制从整个try/catch机制的下面一行继续。不能单独使用try,catch子句的目的是解决异常情况并且像错误没有发生一样继续运行。无论在try块中是否产生异常,也不管产生的异常是否会被捕获,finally中的语句最终会被执行。另外要指出
文档评论(0)