欢迎来到天天文库
浏览记录
ID:16751547
大小:2.25 MB
页数:25页
时间:2018-08-24
《09 java基础课程-异常》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java基础课程异常异常的定义Java的异常处理机制Java的异常体系自定义异常本课内容在前面的课中,我们运行以下程序时:classT{}系统显示结果为:这里的Exception就是我们要学习的异常异常现实生活中,我们去做某个事情的时候,可能会因为其它原因导致我们失败,比如说:老张开车去东北,撞了。被撞是一个意外,可能会发生,也可能不会发生,被撞后如何做呢?A忍着可能失血过多而导致不可想象的后果B去医院去医院采取补救措施后继续开车前进异常在程序运行的过程中,可能会因为外部不可预料的因素而导致某个方法的执行失败,那么失败后我们如何处理呢?A容忍失败程
2、序带着错误一直运行到底B不容忍失败,而选择直接崩溃程序不健壮,没有用户愿意接受动不动死机的系统C采用Java的异常机制异常异常处理机制:try{老王.开车();}catch(撞车e){e.get车主().赔钱();医生.抢救(老王);}老王.吃饭();异常我们将可能会出现意外情况的语句用try-catch语句包围起来,如果没有出现意外,程序正常执行,如果出现意外,程序进入catch中的处理语句中catch(撞车e)这里的e是关于这次撞车事件的详细信息异常trycatch异常执行catch后程序继续正常运行程序控制引发代码块单元写出以下程序的输出结果
3、classT{staticvoidt(){inta=2/0;System.out.println(a);}publicstaticvoidmain(Stringargs[]){System.out.println(1);t();System.out.println(2);}}异常写出以下程序的输出结果classT{staticvoidt(){inta=2/0;print(0);}staticvoidprint(inta){System.out.println(a);}publicstaticvoidmain(Stringargs[]){print(
4、1);try{t();}catch(Exceptione){print(2);}print(3);}}异常Java中的异常异常ExceptionArithmeticExceptionNullPointerExceptionObjectThrowableErrorThreadDeathSQLExceptionRuntimeExceptionNumberFormatException……AWTErrorThrowable具有两个子类A.Exception:处理用户程序应当捕获的异常情况B.Error:Error类的异常为内部严重错误,因此在这种情况下不
5、期望用户的程序捕获它们异常异常说明Exception异常层次结构的根类RuntimeException许多java.lang异常的基类ArithmeticException算术错误情形,如以零作除数IllegalArgumentException方法接收到非法参数ArrayIndexOutOfBoundsException数组大小小于或大于实际的数组大小NullPointerException尝试访问null对象成员ClassNotFoundException不能加载所需的类NumberFormatException数字转化格式异常IOExcept
6、ionI/O异常的根类FileNotFoundException找不到文件EOFException文件结束InterruptedException线程中断常见异常类Exception类有一个特殊的子类RuntimeException,我们称之为运行时异常。如果一个方法声明要抛出的异常类型是这个类或其子类,则该方法的调用者不必显示地使用try…catch段来捕获,否则该方法的调用者一定要显示地处理该异常运行时异常一段代码可能会生成多个异常当引发异常时,会按顺序来查看每个catch语句,并执行第一个类型与异常类型匹配的语句执行其中的一条catch语句之
7、后,其他的catch语句将被忽略多重catch块try{…….}catch(ArrayIndexOutOfBoundsExceptione){……}catch(Exceptione){……}使用多重catch语句时,异常子类一定要位于异常父类之前多重catch块try{…...}catch(Exceptione){……}catch(ArrayIndexOutOfBoundsExceptione){……}×JavaAPI提供的内置异常不一定总能捕获程序中发生的所有错误。有时会需要创建用户自定义异常自定义异常需要继承Exception或其子类,并调用父
8、类的构造方法初始化异常消息信息classTextendsException{publicT(Stringmessage){
此文档下载收益归作者所有