sajava的特性和构造.ppt
《sajava的特性和构造.ppt》由会员分享,可在线阅读,更多相关《sajava的特性和构造.ppt(80页珍藏版)》请在三一办公上搜索。
1、第2章 java的特性和构造,I/O与异常处理标识符的作用域实例成员和类成员数组用法String和StringBuffer类类型转换,一、I/O与异常处理,/程序Lowercase.javaimport java.io.IOException;class Lowercasepublic static void main(String args)throws IOExceptonint i;while(i=System.in.read()!=-1)i=Character.toLowerCase(char)i);System.out.write(I);,接受从键盘输入的方法,System.in.r
2、ead()读取一个字符并返回该字符的正整数代码或返回-1。System.out.write(i)输出i 的低位字节,文件I/O,构建文件流对象FileInputStream myin=new FileInputStream(“mydata”);FileOutputStream myout=new FileOutputStream(“myresult”);读写字节public int read()throws IOExceptionpublic void write(int c)throws IOException,错误和异常处理,显示错误消息使用Systemerr对象发送错误消息,消息可以立即
3、出现在显示屏上,而不必缓冲,if(args.length!=2)System.err.println(“.”);System.exit(1);,异常处理,The basic philosophy of Java is that“badly formed code will not be run”The ideal time to catch an error is at compile-time,before you even try to run the program.However,not all errors can be detected at compile-time,the re
4、st of the problems must be handled at run-time.,Error and Exception,Error:It neednt be handled by yourself.The word“exception”is meant in the sense of“I take exception to that”,java.lang Class Throwable|+-java.lang.Throwable All Implemented Interfaces:Serializable Direct Known Subclasses:Error,Excep
5、tion,Error动态链接失败,虚拟机错误等,通常Java程序不应该捕获这类例外,也不会抛弃这种例外。Exception 运行时例外继承于RuntimeException。Java编译器允许程序不对它们做出处理。非运行时例外除了运行时例外之外的其他由Exception继承来的例外类。Java编译器要求程序必须捕获或者声明抛弃这种例外。,Throwable,Error,Exception,RuntimeExcepion,IOException,AWTException,ArithmeticException,IndexOutOfBounds,FileNotFoundException,EOFE
6、xception,.,.,例外处理机制,在Java程序的执行过程中,如果出现了异常事件,就会生成一个例外对象。生成的例外对象将传递给Java运行时系统,这一例外的产生和提交过程称为抛弃(throw)例外。,例外处理机制,当Java运行时系统得到一个例外对象时,它将会寻找处理这一例外的代码。找到能够处理这种类型的例外的方法后,运行时系统把当前例外对象交给这个方法进行处理,这一过程称为捕获(catch)例外。如果Java运行时系统找不到可以捕获例外的方法,则运行时系统将终止,相应的Java程序也将退出。,例外处理方法,捕获例外声明抛弃例外,捕获例外,捕获例外是通过try-catch-finally
7、语句实现的try.catch(ExceptionName1 e)异常处理程序catch(ExceptionName2 e)异常处理程序.finally.,try捕获例外的第一步是用try选定捕获例外的范围,由try所限定的代码块中的语句在执行过程中可能会生成例外对象并抛弃。,catch每个try代码块可以伴随一个或多个catch语句,用于处理try代码块中所生成的例外事件。catch语句只需要一个形式参数指明它所能够捕获的例外类型,这个类必须是Throwable的子类,运行时系统通过参数值把被抛弃的例外对象传递给catch块.在catch块中是对例外对象进行处理的代码,与访问其它对象一样,可以
8、访问一个例外对象的变量或调用它的方法。getMessage()是类Throwable所提供的方法,用来得到有关异常事件的信息,类Throwable还提供了方法printStackTrace()用来跟踪异常事件发生时执行堆栈的内容。,try.catch(FileNotFoundException e)System.out.println(e);System.out.println(message:+e.getMessage();e.printStackTrace(System.out);catch(IOException e)System.out.println(e);,catch语句的顺序,捕
9、获例外的顺序和不同catch语句的顺序有关,当捕获到一个例外时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的例外,然后再逐渐一般化。也就是一般先安排子类,再安排父类。,finally捕获例外的最后一步是通过finally语句为例外处理提供一个统一的出口,使得在控制流转到程序的其它部分以前,能够对程序的状态作统一的管理。不论在try代码块中是否发生了异常事件,finally块中的语句都会被执行。,try int b=0;System.out.println(5/b);catch(ArithmeticException e)finallyif(fis
10、!=null)System.out.println(“closingFileInputStream”);elseSystem.out.println(“FileInputStream not open”);,声明抛弃例外,如果在一个方法中生成了一个例外,但是这一方法并不确切地知道该如何对这一异常事件进行处理,这时,一个方法就应该声明抛弃例外,使得例外对象可以从调用栈向后传播,直到有合适的方法捕获它为止。,声明抛弃例外是在一个方法声明中的throws子句中指明的。例如:public int read()throws IOException.throws子句中同时可以指明多个例外,说明该方法将不对
11、这些例外进行处理,而是声明抛弃它们:public static void main(String args)throwsIOException,IndexOutOfBoundsException,抛弃例外首先要生成例外对象,例外或者由虚拟机生成,或者由某些类的实例生成,也可以在程序中生成。生成例外对象是通过throw语句实现的。IOException e=new IOException();throw e;可以抛弃的例外必须是Throwable或其子类的实例。下面的语句在编译时将会产生语法错误:throw new String(want to throw);,例外类的使用,自定义例外类必须是T
12、hrowable的直接或间接子类一个方法所声明抛弃的例外是作为这个方法与外界交互的一部分而存在的。方法的调用者必须了解这些例外,并确定如何正确的处理他们。,FileInputStream 的APIpublic FileInputStream(String name)throws FileNotFoundException,积极处理方式:,import java.io.*;class ExceptionDemo1public static void main(String args)try FileInputStream fis=newFileInputStream(text);catch(Fi
13、leNotFoundException e),消极处理方式:,import java.io.*;class ExceptionDemo1public static void main(String args)throws FileNotFoundExceptionFileInputStream fis=newFileInputStream(text);,例外类的使用,如果采用消极处理方式,则由调用该方法的方法进行处理;但是调用该方法的方法也可以采用消极和积极两种处理方式,一直传递到Java运行环境.,例外类的使用,运行时例外则表示由运行时系统所检测到的程序设计问题或者API的使用不当问题,它可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sajava 特性 构造
链接地址:https://www.31ppt.com/p-6524242.html