资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2010/8/12,#,Java,面向对象编程之,异常和断言,1,一 异常处理,通过五个关键字控制:,try catch throw throws finally,如果在,try,块中发生异常,该异常将被抛出,catch,块用于捕获异常,throw,用于手动引发异常,throws,子句定义一个方法引发异常,不在方法体内处理,由调用该方法的主程序处理,2,一 异常处理,Java,异常处理块的通常格式:,try/,该代码块用来检测错误,catch,(,ExceptionType ex,),/,该代码块用来处理异常,finally/,该代码块在,try,块执行完成之前得到执行,3,二 异常处理方法,1.try,块,(捕获异常),D,:,JavaExceptionHandleTestTry.java,4,二 异常处理方法,2.catch,块(处理异常),3.finally,块(异常清理),finally,创建一个代码块,该代码在一个,try/catch,块完成之后,另一个,try/catch,块出现之前执行,finally,块无论有没有异常引发都会被执行,D,:,JavaExceptionHandleTestFinally.java,5,二 异常处理方法,4.,多重,catch,语句,如果子类在父类后面,子类将永远不能到达,因此异常子类必须在其任何父类之前使用,D,:,JavaExceptionHandleTestMulCatch.java,D,:,JavaExceptionHandleTestSubCatch.java,6,二 异常处理方法,5.,嵌套,try,语句,6.throw,语句(产生异常),7.throws,子句(定义方法抛出异常),D,:,JavaExceptionHandleTestNestedTry.java,D,:,JavaExceptionHandleTestThrow.java,D,:,JavaExceptionHandleTestThrows.java,7,三 自定义异常类,定义一个,Exception,的子类,覆盖,Throwable,定义的相应方法,D,:,JavaExceptionHandleMyException.java,8,四 断言,提供一种在代码中进行正确性检查的机制,assertion,就是程序中的一条语句,对一个,boolean,表达式进行检查,语法结构:,(,1,),assert expression1,;,(,2,),assert expression1,:,expression2,;,9,四 断言,expression1,表示一个,boolean,表达式,expression2,表示一个基本类型或者一个对象,若打开了断言功能,,expression1,的值将被计算,若为,false,,则抛出一个,AssertionError,对象,如果,assertion,包括,expression2,,则,expression2,的结果将作为,AssertionError,的构造函数的参数,10,四 断言,断言程序的编译:,javac -source 1.4 test.java,11,五 小结,异常处理,异常处理方法,自定义异常类,断言,12,
展开阅读全文