欢迎来到天天文库
浏览记录
ID:52245133
大小:193.58 KB
页数:17页
时间:2020-03-25
《Java 语言编程技术6.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java语言编程技术Cht6EChapter6:ErrorHHdliandlingwithEithExceptions主要内容什么是exceptionexception的捕获和处理exceptin的分类自定义exceptionJava语言编程技术2什么是exception?dividebyzero试图打开的文件不存在网络连接被中断操作数组越界正在装载的类丢失时;…………Java语言编程技术3出现exception怎么办?创建并抛出一个exception对象中断正常执行由exceptionhandler处理exceptiont
2、ry{//Codethatmightgenerateexceptions//Codethatmightgenerateexceptionsif(t==null)thrownewNullPointerException();}catch(…)){{…}Java语言编程技术4exception的捕获和处理try{//Codethatmightgenerateexceptions//Codethatmightgenerateexceptions}catch((pyExceptionTyppe1eid1)){{将正常//Handleexceptionsof
3、Type1处理与}catch(ExceptionType2eid2){错误处理分开////HandleexceptionsofType2//HandleexceptionsofType2}finally{//……}Java语言编程技术5exception分类Java语言编程技术6exception分类RuntimeExceptionArithmeticExceptionNullPointerExceptionClassCastExceptionNegativeArraySizeExceptionIndexOutOfBoundsExcept
4、ionJava语言编程技术7exception分类非RuntimeExceptionRuntimeException————必须处理ClassNotFoundExceptionCloneNotSupportedExceptionInterruptedExceptionIOException……Java语言编程技术8自定义exception从已有定义的eeceptoxception类继承,一般继承承ExceptionException类类例:c10:SimpppleExceptionDemo.jjava例:c10:FullConstr
5、uctors.java带参数的构造方法例:ExtraFeatures.javaJava语言编程技术9exception说明voidf()throwsTooBig,TooSmall,DivZero{...…//可能有Exception}方法声明时必须指明可能产生的Exception,,否则编译错误否则编译错误声明产生Exception,也可以不产生ExceptionException————子类可能产生Java语言编程技术10Throwable方法toString()getMessage()getLocalizedMessage()pri
6、ntStackTrace()printStackTrace(PrintStreams)printStackTrace(PrintWriters)fillInStackTrace()例:c10:ExceptionMethods.javaJava语言编程技术11Rethrowinggpanexceptioncatch(Exceptione){StSystem.err.pritl("Aintln("Anexceptionwasthrown");throwe;}fillInStackTrace()更新信息publicThrowablefillInSt
7、ackTrace()例:c10Rth10:Rethrowing.javaJava语言编程技术12finally无论是否有exception都要执行例:c10:FinallyWorks.javac10:OnOffSwitchjavac10:OnOffSwitch.javac10:WithFinally.java缺陷:finally中抛出的exception未被捕获例:c10:LostMessagejavac10:LostMessage.javaJava语言编程技术13方法重写与exception子类重写父类方法时,只能抛出父类方法所抛出的exce
8、ption或其子类父类方法throwIOException子类方法throwFileNotFoundEx
此文档下载收益归作者所有