- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章java电子教案
第8章 Java高级编程 8.1 异常处理 8.2 Java多线程机制 8.3 Swing GUI组件 8.4 流式输入输出与文件处理 8.5 用Java实现底层网络通信 8.6 Java程序对网上资源的访问 8.7 小结 习题 本章将讨论一些Java编程的高级课题,包括Java的异常处理机制、多线程编程、Java的IO编程、网络编程,以及Java2新增的swing GUI组件的使用。Java语言是基于网络计算的语言,网络应用是Java语言的重要应用之一,其核心思想是使联入网络的不同计算机能够跨越空间协同工作。这首先要求它们之间能够准确、迅速地传递信息,所以IO编程和网络应用将是本章的重点。 8.1 异常处理 8.1.1 异常与异常类 异常(Exception)又称为例外,是特殊的运行错误对象,对应着Java语言特定的运行错误处理机制。由于Java程序是在网络环境中运行的,安全成为需要首先考虑的重要因素之一。为了能够及时有效地处理程序中的运行错误,Java中引入了异常和异常类。作为面向对象的语言,异常与其他语言要素一样,是面向对象规范的一部分,是异常类的对象。 Java中定义了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当Java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。这就是Java的异常处理机制。 1. 异常类结构与组成 Java的异常类是处理运行时错误的特殊类,每一种异常类对应一种特定的运行错误。所有的Java异常类都是系统类库中的Exception类的子类。其类继承结构如图8.1所示。 图 8.1 Exception类的继承结构 Throwable类是类库java.lang包中的一个类,它派生了两个子类:Exception和Error。其中Error类由系统保留,而Exception类则供应用程序使用。 同其他的类一样,Exception类有自己的方法和属性。它的构造函数有两个: public Exception( ); public Exception( String s ); 第二个构造函数可以接受字符串参数传入的信息,该信息通常是对该例外所对应的错误的描述。 Exception类从父类Throwable那里还继承了若干方法,其中常用的有: (1) public String toString ( ) toString ( )方法返回描述当前Exception类信息的字符串。 (2) public void printStackTrace ( ) printStackTrace ( )方法没有返回值,它的功能是完成一个打印操作,在当前的标准输出(一般就是屏幕)上打印输出当前例外对象的堆栈使用轨迹,也即程序先后调用执行了哪些对象或类的哪些方法,使得运行过程中产生了这个例外对象。 2. 系统定义的运行异常 Exception类有若干子类,每一个子类代表了一种特定的运行时错误。这些子类有些是系统事先定义好并包含在Java类库中的,称为系统定义的运行异常。 系统定义的运行异常通常对应着系统运行错误。由于这种错误可能导致操作系统错误甚至是整个系统的瘫痪,所以需要定义异常类来特别处理。表8.1中列出了若干常见的系统定义异常。 由于定义了相应的异常,Java程序即使产生一些致命的错误,如引用空对象等,系统也会自动产生一个对应的异常对象来处理和控制这个错误,避免其蔓延或产生更大的问题。 表 8.1 系统定义的运行异常 3. 用户自定义的异常 系统定义的异常主要用来处理系统可以预见的较常见的运行错误,对于某个应用所特有的运行错误,则需要编程人员根据程序的特殊逻辑在用户程序里自己创建用户自定义的异常类和异常对象。这种用户自定义异常主要用来处理用户程序中特定的逻辑运行错误。 例如在第6章的例6-13中,曾经定义了如下的“出队”方法: int dequeue( ) //减队操作,若队列不空,则从队列头部取出一个数据 { int data; if(!isEmpty( )) { data = m-FirstNode.getData( ); m-FirstNode = m-FirstNode.getNext( ); return data; } else return -1; } 在这个方法里,如果队列
您可能关注的文档
最近下载
- 河南能源集团网络安全攻防知识培训(分享版)(1).pptx
- 2025年党员考试试题及答案.doc VIP
- 湖南公务员考试真题2024.docx VIP
- mPGES-2作为吸入全身麻醉药物异氟醚作用靶点的应用.pdf VIP
- 案例研究-案例研究:设计与方法.pdf VIP
- 2024届高考物理一轮复习热点题型归类训练专题13动力学和能量观点的综合应用(原卷版+解析).docx VIP
- 烟草质量检验竞赛通用知识题库-上(单选、多选题库).docx VIP
- 德育常规工作培训(1).pptx
- OMRON欧姆龙安全产品F3SG-SR PG系列安全光幕 多光束安全传感器F3SG-SR PG 系列 F3SG-□SR□系列安全光幕 用户手册.pdf
- 保险的培训资料1—开拓准客户.ppt VIP
文档评论(0)