java异常处理课件.ppt
《java异常处理课件.ppt》由会员分享,可在线阅读,更多相关《java异常处理课件.ppt(28页珍藏版)》请在三一办公上搜索。
1、异常处理,目标,理解异常的概念运用 try 块、catch 块和 finally 块处理异常运用多重 catch 块处理异常运用嵌套 try/catch 块处理异常运用关键字 throw 和 throws 处理异常运用JAVA编写和使用自定义异常,生活中的异常,正常情况下,但是,异常情况迟早要发生!,一路畅通,堵车!,撞车!,程序中的异常,public class HelloAccp public static void main(String args)System.out.print(请输入1至3之间的数字:);Scanner in=new Scanner(System.in);int c
2、ourseCode=in.nextInt();/从键盘输入整数switch(courseCode)case 1:System.out.println(C#编程);break;case 2:System.out.println(Java编程);break;case 3:System.out.println(SQL基础);,输入:1输出:C#编程,输入:abc程序中断运行!,正常情况:,异常情况:,什么是异常,异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序,绕行或者等待,请求交警解决,异常!,面对异常该怎么办呢?通常情况下,我们会这样处理:,程序运行,程序中断运行,堵车!,
3、撞车!,生活中,我们会根据不同的异常进行相应的处理,而不会就此中断我们的生活,Exception,ArithmeticException,NullPointerException,Object,Throwable,Error,ThreadDeath,SQLException,RuntimeException,NumberFormatException,异常类的层次结构,Throwable 具有两个子类,它们是Exception:处理用户程序应当捕获的异常情况Error:Error 类的异常为内部错误,因此在正常情况下不期望用户的程序捕获它们,AWTError,Java异常类,文件结束,EOFE
4、xception,找不到文件,FileNotFoundException,I/O 异常的根类,IOException,数字转化格式异常,比如字符串到 float 型数字的转换无效,NumberFormatException,不能加载所需的类,ClassNotFoundException,方法接收到非法参数,IllegalArgumentException,数组大小小于或大于实际的数组大小,ArrayIndexOutOfBoundException,尝试访问 null 对象成员,NullPointerException,许多 java.lang 异常的基类,RuntimeException,异常
5、层次结构的根类,Exception,算术错误情形,如以零作除数,ArithmeticException,线程中断,InterruptedException,说 明,异 常,什么是异常处理,Java编程语言使用异常处理机制为程序提供了错误处理的能力,程序中预先想好了 对付异常的处理办法,异常!,程序运行,处理完毕,程序继续运行,对异常进行处理,Java中如何进行异常处理,Java的异常处理是通过5个关键字来实现的:try、catch、finally、throw、throws,捕获异常,catch,try,finally,执行可能产生 异常的代码,捕获异常,无论是否发生异常,代码总能执行,手动抛出
6、异常,抛出异常,throw,声明异常,声明方法可能要抛出的各种异常,throws,异常处理块的一般形式,try/要监控错误的代码块 catch(Exception e)/Exception e 的异常处理程序 finally/在 try 结束前要执行的代码块,try/catch块,try,catch,try/catch 块后的代码段,public void method()try/代码段(此处不会产生异常)catch(异常类型 ex)/对异常进行处理的代码段/代码段,使用try/catch块捕获异常,分为三种情况:,第一种情况,try/catch块7-2,使用示例模拟第一种情况:,public
7、 class AccpException public static void main(String args)System.out.print(请输入1至3之间的数字:);Scanner in=new Scanner(System.in);try int courseCode=in.nextInt();switch(courseCode)case 1:System.out.println(C#编程);break;case 2:System.out.println(Java编程);break;case 3:System.out.println(SQL基础);catch(Exception e
8、x)System.out.println(输入不为数字!);System.out.println(欢迎提出建议!);,输入:2,Java编程欢迎提出建议!,控制台输出,try/catch块,try,catch,异常类型匹配,try/catch 块后的代码段,进入catch块,public void method()try/代码段 1/产生异常的代码段 2/代码段 3 catch(异常类型 ex)/对异常进行处理的代码段4/代码段5,使用try/catch块捕获异常,分为三种情况:,第二种情况,产生异常对象,程序继续执行,异常是一种特殊的对象,类型为java.lang.Exception或其子类
9、,发生异常,try/catch块7-4,使用示例模拟第二种情况:,public class AccpException public static void main(String args)System.out.print(请输入1至3之间的数字:);Scanner in=new Scanner(System.in);try int courseCode=in.nextInt();switch(courseCode)case 1:System.out.println(C#编程);break;case 2:System.out.println(Java编程);break;case 3:Syst
10、em.out.println(SQL基础);catch(Exception ex)System.out.println(输入不为数字!);ex.printStackTrace();System.out.println(欢迎提出建议!);,输入:abc,输入不为数字!异常堆栈信息欢迎提出建议!,控制台输出,printStackTrace的堆栈跟踪功能显示出程序运行到当前类的执行流程,public class AccpException public static void main(String args)System.out.print(请输入课程代号(1至3之间的数字):);Scanner
11、in=new Scanner(System.in);try int courseCode=in.nextInt();/此处代码省略 catch(Exception ex)System.out.println(输入不为数字!);ex.printStackTrace();System.out.println(欢迎提出建议!);,try/catch块,try/catch块,try,catch,异常类型不匹配,try/catch 块后的代码段,程序中断运行,发生异常,public void method()try/代码段 1/产生异常的代码段 2/代码段 3 catch(异常类型 ex)/对异常进行处
12、理的代码段4/代码段5,使用try/catch块捕获异常,分为三种情况:,第三种情况,产生异常对象,try/catch块7-7,使用示例模拟第三种情况:,public class AccpException2 public static void main(String args)System.out.print(请输入课程代号(1至3之间的数字):);Scanner in=new Scanner(System.in);try int courseCode=in.nextInt();switch(courseCode)case 1:System.out.println(C#编程);break;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 异常 处理 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5436088.html