欢迎来到天天文库
浏览记录
ID:36203703
大小:434.50 KB
页数:90页
时间:2019-05-07
《java语言程序设计(异常处理、线程、集合操作)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java语言程序设计马皓1异常和异常类异常处理创建异常第六章异常处理2软件程序肯定会发生错误/问题whatreallymattersiswhathappensaftertheerroroccurs.Howistheerrorhandled?Whohandlesit?Cantheprogramrecover,orshoulditjustdie?从外部问题(硬盘、网络故障等)到编程错误(数组越界、引用空对象等)致命错误内存空间不足等错误(Error)导致程序异常中断程序不能简单地恢复执行非致命错误数组越界等异常
2、(Exception)导致程序中断执行程序在修正后可恢复执行异常(Exception)3Java语言中已定义或用户定义的某个异常类的对象一个异常类代表一种异常事件Java语言利用异常来使程序获得处理错误的能力(error-handling)异常事件(ExceptionalEvent)Anexceptionisaneventthatoccursduringtheexecutionofaprogramthatdisruptsthenormalflowofinstructions.异常4Java语言中用来处理异常
3、的类异常类的方法构造方法publicException()publicException(Strings)常用方法publicStringtoString()publicStringgetMessage()publicvoidprintStackTrace()异常类5对异常的定义Java语言中定义的异常类:IOException/NullPointerException详细定义见Java文档中各个包的ExceptionSummary用户定义自已所需的异常类,描述程序中出现的异常结果第10讲异常(Except
4、ion)classjava.lang.Throwableclassjava.lang.Error(严重的问题,但不需程序捕捉的错误)classjava.lang.LinkageError......classjava.lang.VirtualMachineErrorclassjava.lang.InternalErrorclassjava.lang.OutOfMemoryError......classjava.lang.Exception(程序应该捕捉的错误)classjava.lang.ClassNot
5、FoundExceptionclassjava.lang.RuntimeException(JVM正常运行时抛出的错误)classjava.lang.ArithmeticException......classjava.io.IOExceptionclassjava.awt.AWTExceptionclassjava.sql.SQLException......6异常和异常类异常处理创建异常第六章异常处理7当一个Java程序的方法产生一个错误,该方法创造一个异常对象并将其交给运行系统InJavatermin
6、ology,creatinganexceptionobjectandhandingittotheruntimesystemiscalledthrowinganexception(抛出异常)运行系统从错误发生处开始寻找处理错误的程序段Theexceptionhandlerchosenissaidtocatchtheexception(捕获异常)捕获异常的过程可以沿方法调用的逆向顺序寻找异常处理8异常处理器(exceptionhandler)trycatchfinally异常的抛出(throw)异常处理9何时会
7、出现异常?方法中已定义了异常的抛出异常处理importjava.io.IOException;classjex3_3{publicstaticvoidmain(Stringargs[])throwsIOException{charc;System.out.println("Pleaseinputachar:");c=(char)System.in.read();System.out.println("Receivedchar="+c);}}publicabstractintread()throwsIOExc
8、eption在程序编译的时候必须完成异常的处理10由于非预期的结果导致系统运行时产生异常异常处理classjex7_9{publicstaticvoidmain(Stringargs[]){inta=0;intb=24/a;}}javajex7_9Exceptioninthread"main“java.lang.ArithmeticException:/byzeroclassjex7_9{publicstatic
此文档下载收益归作者所有