《Java程序设计基础与实践 第6章 异常处理.ppt》由会员分享,可在线阅读,更多相关《Java程序设计基础与实践 第6章 异常处理.ppt(19页珍藏版)》请在人人文库网上搜索。

1、第6章 异常处理,Java异常体系结构 Java异常处理机制 Java异常的捕获、处理方法 Java自定义异常的定义、抛出方法,6.1.1 Java异常体系结构及处理机制 异常的概念 异常(Exception)又称为例外,是指在程序运行过程中发生的非正常事件,如用户数据输入错误、程序代码错误、文件找不到、对空对象进行操作等错误。异常事件的发生,中断了程序的正常执行,可能带来严重的后果和损失。, Java异常体系结构 Java系统中提供了许多异常类,这些类又称为标准异常类,分布在Java.lang、Java.io、Java.util和J包中。所有的异常都是由一个称为Throwable类及其子类派。

2、生出来的,其层次结构如图6.1所示。,图6.1 Java异常体系结构, Throwable Throwable类是Java语言中所有错误或异常的超类。 Error与Exception Error是Throwable的子类,是程序无法处理的错误。 Exception类及其子类是Throwable的子类,是程序本身可以处理的异常,这种异常分运行时异常(RuntimeException)和非运行时异常两大类。 运行时异常和非运行时异常 运行时异常是在Java虚拟机正常运行期间抛出的异常的超类,Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,会编译通过,因此也称之为不检查异常(Unch。

3、ecked Exception)。,表6.1 常见的运行时异常,非运行时异常是RuntimeException以外的异常,也称为检查异常(Checked Exception),类型上都属于CheckedException类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过,所以一般情况下编写程序时不自定义检查异常,常见非运行时异常如表6.2所示。,表6.2 常见的非运行时异常, Java异常分类 Java异常类有两个来源,一是Java语言本身定义的一些基本异常类型,二是用户通过继承Exception类或者其子类自己定义的异常。 Java异常的处理方法 Java采用面。

4、向对象的方法来处理异常。在一个方法的运行过程中,如果发生了异常,则这个方法生成代表该异常的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一异常。,6.1.2 异常的捕获和处理 异常处理的基本结构 在Java中,异常处理的基本结构是: try /可能出现特定异常的代码 catch(异常类型 异常的变量名) /异常处理代码 finally /异常发生,方法返回之前,最终执行的代码 , try、catch、finally三个语句块应注意的问题 try、catch、finally三个语句块均不能单独使用,三者可以组成try.catch.finally、try.catch、try.fi。

5、nally三种结构,catch语句可以有一个或多个,finally语句最多只有一个。 try、catch、finally三个代码块中变量的作用域为代码块内部,分别独立而不能相互访问。如果要在三个块中都可以访问,则需要将变量定义到这些代码块的外面。 在有多个catch块的情况下,如果处理的异常类型之间具有继承关系,应该首先捕获子类异常,再捕获父类异常,例如: class Teacher String name,number; int age,num; Teacher(String name,int age) this.name=name; this.age=age; void setNumber。

6、(String number) try /异常处理 num=Integer.parseInt(number); catch(NumberFormatException e) System.out.println(工号格式错误!); int getNumber() return num; public static void main(String args) Teacher t1=new Teacher(黎明,28); Teacher t2=new Teacher(张力,30); t1.setNumber(2a001); t2.setNumber(22001); System.out.prin。

7、tln(工号:+t2.getNumber(); ,6.1.3 自定义异常 自定义异常类可以继承Throwable类或者Exception,而不要继承Error类,自定义异常类之间也可以有继承关系。 自定义异常必须使用throws声明方法可能抛出的自定义异常,并用throw语句在适当的时候抛出自定义异常。,例如: class MyException extends Exception /定义自定义异常 MyException() /定义构造方法 super(); MyException(String s) super(s); class Teacher String name,number; i。

8、nt age; Teacher(String name,int age) this.name=name; this.age=age; void setNumber(String number) throws MyException if(number.equals(2a001) throw new MyException(自定义异常); else this.number=number; String getNumber() return number; ,public static void main(String args) Teacher t1=new Teacher(黎明,28); Te。

9、acher t2=new Teacher(张力,30); try t2.setNumber(22001); t1.setNumber(2a001); catch(MyException e) System.out.println(出现自定义异常!); finally System.out.println(工号:+t2.getNumber(); ,6.1.4 抛出异常 使用throw关键字抛出异常 throw关键字是用于方法体内部,用来抛出一个Throwable类型的异常。throw语句的格式为: throw 异常类对象名; 使用throws关键字声明抛出异常 当方法的调用者不能处理该异常的时候。

10、,应该将它向上传递,由调用它的方法来处理异常。throws语句的格式为: 方法修饰符 返回值的类型 成员方法名(形式参数表)throws 异常表/方法声明 /方法体 ,例如: class Teacher String name,number; int age,num; Teacher(String name,int age) this.name=name; this.age=age; void setNumber(String number) throws NumberFormatException/声明要抛出的异常 if(number.equals(2a001) /抛出异常 throw ne。

11、w NumberFormatException(); else this.number=number; String getNumber() return number; public static void main(String args) Teacher t1=new Teacher(黎明,28); Teacher t2=new Teacher(张力,30); t1.setNumber(2a001); /满足异常条件,系统会抛出异常 t2.setNumber(22001); System.out.println(t2.getNumber(); ,6.1.5 Throwable类中的常用方。

12、法,表6.3 Throwable类中的常用方法,例如: class Teacher String name,number; int age,num; Teacher(String name,int age) this.name=name; this.age=age; void setNumber(String number) try /异常处理 num=Integer.parseInt(number); catch(NumberFormatException e) System.out.println(使用getMessage():+e.getMessage(); System.out.println(使用toString():+e.toString(); System.out.print(使用printStackTrace:); e.printStackTrace(); int getNumber() return num; public static void main(String args) Teacher t1=new Teacher(黎明,28); Teacher t2=new Teacher(张力,30); t2.setNumber(22001); System.out.println(工号:+t2.getNumber(); t1.setNumber(2a001);。

java 异常 ppt_Java程序设计基础与实践 第6章 异常处理.ppt相关推荐

  1. 《程序设计基础综合实践》各备选题目[2023-02-13]

    <程序设计基础综合实践>各备选题目[2023-02-13] <程序设计基础综合实践>各备选题目设计参考提示 一.总体要求 1.注释要求 注释是程序员与日后的程序读者之间通信的重 ...

  2. 编程语言基础c语言第5版讲解,《程序设计基础》C语言基础知识讲解.ppt

    <<程序设计基础>C语言基础知识讲解.ppt>由会员分享,可在线阅读,更多相关<<程序设计基础>C语言基础知识讲解.ppt(54页珍藏版)>请在人人文库 ...

  3. Java基础与实践题库_Java程序设计基础与实践(题库版)

    第1章Java概述 1.1Java的发展过程 1.1.1Java技术的形成 1.1.2Java的成熟和发展 1.2Java技术 1.2.1Java的技术特点 1.2.2Java的相关技术 1.3Jav ...

  4. java 异常 最佳实践_处理Java异常的10种最佳实践

    java 异常 最佳实践 在本文中,我们将看到处理Java异常的最佳实践. 用Java处理异常不是一件容易的事,因为新手很难理解,甚至专业的开发人员也可能浪费时间讨论应该抛出或处理哪些Java异常. ...

  5. 处理Java异常的10种最佳实践

    在本文中,我们将看到处理Java异常的最佳实践. 用Java处理异常不是一件容易的事,因为新手很难理解,甚至专家级开发人员也可能浪费时间讨论应该抛出或处理哪些Java异常. 因此,最大的开发公司对如何 ...

  6. 移动应用程序设计基础——数据库实践——简单日记本

    <移动应用程序设计基础>实验5 数据库实践--简单日记本 实验名称: 实验5 数据库实践--简单日记本 所使用的工具软件及环境: JDK1.8,Android Studio 一.实验目的: ...

  7. 学籍管理系统 c语言流程图,程序设计基础 ——C语言第10章 综合应用案例——学生学籍管理系统...

    程序设计基础 第 10章 综合应用 案例 -学生学籍 管理系统 1 详细设计 需求分析 总体设计 第 10章 综合应用 案例 -学生学籍管理系统 编码实现 运行结果 2 设计一个利用 文件 处理方式, ...

  8. python语言程序设计基础嵩天答案第二章_python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  9. 《Java从小白到大牛》之第14章 异常处理(上)

    <Java从小白到大牛>纸质版已经上架了!!! 很多事件并非总是按照人们自己设计意愿顺利发展的,而是有能够出现这样那样的异常情况.例如:你计划周末郊游,你的计划会安排满满的,你计划可能是这 ...

  10. Think in Java第四版 读书笔记6第12章 异常处理

    12.1 概念 异常可以将"在正常时候执行的代码"和"发生错误时的代码"相分离,达到结构清晰的目的. a.受检查异常checkedException 编译器强制 ...

最新文章

  1. imgcook:各种图像一键自动生成代码的工具
  2. 2018-3-10论文(网络评论中非结构化信息表示与研究)笔记-----网评评定等级,网评分类,网评信度函数,Dempster法则
  3. Zclip-jquery插件支持全浏览器复制
  4. 设计模式(命令模式)
  5. cannot load php5,Cannot load php5apache2_4.dll into server解决办法
  6. js 正则练习之语法高亮
  7. antd checkbox 默认选中_antd + select 默认选中问题?
  8. 安徽出台医疗大数据应用发展实施意见
  9. live2d_原画人插画教程,想知道live2d虚拟主播是怎么制作出来的吗?
  10. SQL server时间栏位默认值
  11. python项目打包成whl文件
  12. 实验3ospf路由聚合
  13. PTA创建视图,包含商品打折前后的价格信息
  14. Eureka 服务注册中心的探究
  15. php面试题3---php面试题系列
  16. PPP协议讲解(PPP连接状态、PPP报文)
  17. Quartz的12张数据库表说明
  18. 科研必备文献管理软件EndNote
  19. java 空clob_CLOB字段在java中操作
  20. 供销合作社改革聚合力 国稻种芯-兰州榆中:构建现代流通体系

热门文章

  1. 服务器装系统03系统,服务器系统安装windows2003教程
  2. 阿里云域名注册优惠口令和续费优惠口令(更新)
  3. Android侧滑原来可以这么优雅
  4. 2021数学建模国赛A题
  5. get、put、post、delete四大请求的含义与区别个人理解和解释
  6. OSM数据下载及两种格式转换方法(shp等格式)
  7. Android中获取系统所认为的最小滑动距离TouchSlop
  8. 3D点云目标检测算法综述
  9. 全程回顾 Blazor Day in China 精彩分享
  10. 使用springboot往数据库中插入汉字报错