`
ljyyanyan
  • 浏览: 5710 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

第七章 异常的捕获及处理

 
阅读更多

第七章   异常的捕获及处理

一、异常的基本概念:

                 ①定义:异常时导致程序中断的一种指令流,所有的异常

                   以类和对象的形式存在

                 ②异常处理机制的优点:易于使用、可自行定义异常类、

                   处理抛出的异常同时又不会降低程序运行的速度

                 ③异常处理格式:   try{

                                                              //有可能出现异常的语句

                                                        }catch(异常类异常对象){

                                                             //编写异常的处理语句

                                                        }[ catch(异常类异常对象){

                                                            //编写异常的处理语句

                                                        }]

                                                        [finally{

                                                            //一定会运行到的程序代码

                                                        }]

                 ④常见异常类型:

                            数组越界异常:ArrayIndexOutOfBoundException

                            数字格式化异常:NumberFormatException

                            算术异常:ArithmeticException

                 ⑤异常类的继承结构:

                                 (父类) Throwable   (子类1)  Exception

                                                                    (子类2) Error

                 ⑥异常信息的输出方式:

                            1System.out.println(异常对象);

                            2、异常对象 .printStackTrace();

                 Java的异常处理机制:

                            1、一旦产生异常,则首先会产生一个异常类的实例

                                  化对象

                            2、在try语句中对此异常类对象进行捕捉。

                            3、产生的异常对象与catch语句中的各个异常类型

                                  进行匹配,如果匹配成功,则执行catch语句中

                                  的代码

                 ⑧利用向上转型的概念,可以让所有的异常对象都使用

                   Exception接收(所有捕获范围小的异常必须放在捕获范

                   围大的异常之前)

 

二、throwsthrow关键字

                 throws

                    1、用throws声明的方法表示此方法不处理异常,

                          而交给方法调用处进行处理。而且在调用处必须

                                 使用trycatch进行处理

                            2、使用格式:

                                    public 返回值类型方法名称 (参数列表…) throws 异常类{}

                          3、主方法原则上也可以使用throws,但最好不要用

                 throw

                            1、直接使用throw关键字人为地抛出一个异常,抛

                                  出时直接抛出异常类的实例化对象即可

                            2throw一般都与trycatchthrows联合使用

                            3finally语句块中尽可能不要出现throwreturn

 

三、Exception类与RuntimeException

                 ①继承关系:           Exception      (上一个是下一个的父类)

                                             RuntimeException

                                       IllegalArgumentException

                                       NumberFormatException

                 Exception在程序中必须使用trycatch进行处理

                 RuntimeException可以不使用trycatch进行处理,但如

                   果有异常产生,肯定会导致程序中断执行。(最好还是用

                   trycatch进行处理)

 

四、自定义异常类:只需要继承Exception类即可

 

五、断言:

                 ①断言就是肯定某一个结果的返回值是正确的,如果最终

                   此结果的返回值是错误的,则通过断言检查会提示错误

                   信息

                 ②定义格式:     assert boolean 表达式;

                                                        assert boolean 表达式:详细的信息;

                 ③运行格式:javac 类名.java

                                                 java –ea 类名

                 ④断言的使用:

                            1、虽然断言的返回值是boolean值,但是并不能将

                                  其作为条件判断语句

                            2、断言虽然有检查运行结果的功能,但是在开发中

                                  并不提倡使用断言

0
0
分享到:
评论

相关推荐

    Java高级程序设计(第二版)--第2章-异常处理.pptx

    Java高级程序设计(第二版)--第2章-异常处理全文共19页,当前为第7页。 二、异常处理机制 为了解决这种需要由程序员承担程序出错情况判断的不正规处理模式所带来的困难和阻碍,Java引入了异常处理机制,通过代码运行...

    面向对象程序设计-实验5异常处理.doc )

    面向对象程序设计-实验5异常处理.doc )

    java8基础学习教程培训配套代码.rar

    第7章[课程代码] Eclipse开发工具doc 第8章[课程代码] Java新特性.doc 第9章[课程代码]多程,doc 第10章[课程代码] Java常用类库,doc 第11章[课程代码] Java lO编程doc 第12章[课程代码] Java网络编程doc 第13章[课程...

    java程序设计教程课件

    第7章 异常处理 7.1 异常基本概念介绍 7.2 异常的抛出和捕获 7.3 创建自己的异常类 第8章 输入输出 8.1 输入输出概述 8.2 各种输入输出流 8.3 文件随机存取: RandomAccessFile类 第9章 多线程与Applet 9.1.1 ...

    C++编程思想(第2版 第2卷)

    C++编程思想 第二版 第二卷 中文... 第7章 通用容器   第三部分 专题  第8章 运行时类型识别   第9章 多重继承   第10章 设计模式   第11章 并发   附录  附录A 推荐读物   附录B 其他   索引

    深入浅出Rxjs

    第7章 过滤数据流。这⼀章介绍如何让流过数据管道的数据根据规则 筛选掉⼀部分,在这⼀章还会介绍⽤筛选法进⾏回压控制的⽅法。 第8章 转化数据流。这⼀章介绍对流经数据管道的数据进⾏格式转化 的⽅法,包括RxJS...

    C++和面向对象数值计算

    第7章 模板 7.1 类模板 7.1.1 成员和友元定义 7.1.2 模板实例化 7.1.3 模板参数 7.1.4 类型等价 7.1.5 用户定义的特化 7.1.6 特化顺序 7.2 函数模板 7.2.1 函数模板参数 7.2.2 函数模板...

    lua 程序设计学习.doc 版

    第7章 迭代器与泛型for 7.1 迭代器与闭包 7.2 范性for的语义 7.3 无状态的迭代器 7.4 多状态的迭代器 7.5 真正的迭代器 第8章 编译•运行•错误信息 8.1 require函数 8.2 C Packages 8.3 错误 8.4 异常和错误处理 ...

    Programming C#(第4版)(中文版)part1

    第7章 结构体 136 定义结构体 136 创建结构体 139 第8章 接口 144 实现接口 145 访问接口方法 154 重定义接口的实现 162 显式接口实现 166 第9章 数组、索引器与集合 176 数组 176 foreach语句 181 索引器 197 集合...

    thinking in c++

    【目录信息】 第一部分 建立稳定的系统 第1章 异常处理 2 1.1 传统的错误处理 2 1.2 抛出异常 4 1.3 捕获异常 5 1.3.1 try块 5 1.3.2 异常处理器 5 1.3.3 终止和恢复 6 1.4 异常匹配 7 1.4.1 捕获所有异常 8 1.4.2 ...

    Programming C#(第4版)(中文版)part3

    第7章 结构体 136 定义结构体 136 创建结构体 139 第8章 接口 144 实现接口 145 访问接口方法 154 重定义接口的实现 162 显式接口实现 166 第9章 数组、索引器与集合 176 数组 176 foreach语句 181 索引器 197 集合...

    Programming C#(第4版)(中文版)part2

    第7章 结构体 136 定义结构体 136 创建结构体 139 第8章 接口 144 实现接口 145 访问接口方法 154 重定义接口的实现 162 显式接口实现 166 第9章 数组、索引器与集合 176 数组 176 foreach语句 181 索引器 197 集合...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    第7章继承和多态 第8章实验指导2 第9章异常处理 第10章Java常用API 第11章Java IO操作 第12章多线程开发 第13章反射技术 第14章实验指导3 下篇UML 第15章UML入门 第16章用例图 第17章类图和对象图...

    pro_android_cpp_with_the_ndk.pdf

    第7章 原生线程 第8章 POSIXSocketAPI:面向连接的通信 第9章 POSIXSocketAPI:无连接的通信 第10章 POSIXSocketAPI:本地通信 第11章 支持C++ 第12章 原生图形API 第13章 原生音频API 第14章 程序概要分析和NEON...

    TCP/IP详解(卷一)

    第7章 Ping程序 61 7.1 引言 61 7.2 Ping程序 61 7.2.1 LAN输出 62 7.2.2 WAN输出 63 7.2.3 线路SLIP链接 64 7.2.4 拨号SLIP链路 65 7.3 IP记录路由选项 65 7.3.1 通常的例子 66 7.3.2 异常的输出 68 7.4 IP时间戳...

    C++入门到精通

    第 7章到第12 章 第三篇 集中在 C++为基于过程化的程序设计所提供的支持上 第 7 章介绍C++函数机制 函数封装了一组操作 它们通常形成一项单一的任务 如 print() 名 字后面的括号表明它是一个函数 关于程序域和...

    AIC的Java课程1-6章

    第7章 内部类 2课时  学会定义内部类,能够在外部类中或外部类外实例化内部类;定义静态内部类和实例化。  通过this引用当前内部类和外部类的实例。  通过扩展类和实现接口两种方式...

    java初学者必看

    12.4.1 异常捕获处理语句块 12.4.2 必须执行语句块 12.4.3 必须执行语句的意外 12.5 异常抛出 12.5.1 异常抛出概念 12.5.2 throw 12.5.3 throws 12.5.4 抛出异常 12.6 自定义异常 12.6.1 创建用户自定义...

Global site tag (gtag.js) - Google Analytics