Java——异常和断言
异常
- 编辑 -> 编译 -> 链接 -> 运行
- 异常的层次结构:
- 异常的分类
- 检查性异常:编译的时候会被检查到(必须解决:try…catch)
- 非检查异常:编译的时候不会被检查到,运行的时候会被检查到(Error和RuntimeException都是非检查异常)
- 异常的处理
捕获异常(try——catch——finally)当前方法有能力处理异常,捕获并处理它
catch、finally不可以同时省略
demotry {//try块中存放可能出现异常的代码1. 如果抛出异常,从抛出的异常的代码行停止运行try块中的其他代码,继续执行catch块中的代码2. 如果没有抛出异常,执行完try块后不执行catch块,执行catch块后面的内容 } catch(要处理的异常和标识符) {1. catch块中的小括号需要加上一种错误类型2. catch的执行要看异常的类型,只有指定的类型才可以使得catch块执行3. 存放的是出现异常之后的代码 } catch() {//执行完其中一个catch之后,其他的catch语句会被忽略(子类一定要在父类前面)... } .... .... } finally {1. 回收资源,<有final的时候可以没有catch>2. 不论try块是否检查出异常,finally语句都会执行 }
抛出异常(throw、throws)当前方法没有能力处理异常,交由方法调用者来处理
demopublic void doA(int a) throws Exception1,Exception3 {//throws是方法可能抛出的异常的声明,在声明方法的同时,表示该方法可能抛出的异常try {......} catch (Exception1 e) {throw e;} catch (Exception2 e) {System.out.println("出错了");}if(a!=b) {throw new Exception3("自定义异常");} }
常见异常
- NullPointerException:空引用异常
- NumberFormatException:数值类型异常
- ClassNotFoundException:没有程序员要用到的类
- ArrayIndexOutOfBoundsException:访问超出索引
- ClassCastException:类型转换异常
断言
断言语句不会永远执行,可以屏蔽也可以启用
断言语句不可以修改变量和改变方法的返回值
Java——异常和断言相关推荐
- JAVA//异常、断言和日志
1. 处理错误 1.2 异常分类 异常对象都是派生于 Throwable 类的一个实例.用户可以创建自己的异常类. Error 类层次结构描述了 Java 运行时系统的内部错误和资源耗尽错误. 应用程 ...
- Java核心技术笔记 异常、断言和日志
<Java核心技术 卷Ⅰ> 第7章 异常.断言和日志 处理错误 捕获异常 使用异常机制的技巧 记录日志 处理错误 如果由于出现错误而是的某些操作没有完成,程序应该: 返回到一种安全状态,并 ...
- java 异常 日志_java中的异常、断言、日志(一)
1.Java异常处理i.异常的概念和Java里面的异常体系结构1)基本概念:程序中的异常,一般成为例外情况,可以理解为是非正常情况,其他编程语言里面也有这样的情况,Java里面同样存在这样一个体系结构 ...
- Java基础(四)——异常、断言、日志
文章目录 异常.断言.日志 1 异常 2 断言 3 日志 异常.断言.日志 在Java语言中,给出了3种处理系统错误的机制 抛出一个异常 使用断言 日志 1 异常 Error:程序无法处理的错误,无法 ...
- Core Java 读后感 - 第七章 异常、断言和日志
第七章 异常.断言和日志 7.1 处理异常 如果由于出现错误使得某些操作没有完成, 程序应该: 返回到一种安全状态,并能够让用户执行其他命令 允许用户保存所有工作的结果,并以妥善的方式终止程序 异常处 ...
- java核心技术 第11版 异常, 断言和日志
java使用了一种称为异常处理(exception handing) 的错误捕获机制, 断言可以有选择的启动检查 处理错误 假设java程序运行期间出错,若是某个方法不同通过正常途径完成任务, 方法并 ...
- java异常对象引用变量_Java面向对象编程-异常处理
第九章 异常处理 异常情况会改变正常的流程,导致恶劣的后果,为了减少损失,应该事先充分预料所有可能出现的异常,然后采取以下措施: 首先考虑避免异常,彻底杜绝异常的发生:如果不能完全避免,则尽可能地减少 ...
- java 异常_Java 进阶之异常处理
本文的主要内容分为 Java 异常的定义.Java 异常的处理.JVM 基础知识(异常表.JVM 指令分类和操作数栈)及深入剖析 try-catch-finally 四部分(图解形式).在深入剖析 t ...
- 一篇不错的讲解Java异常的文章(转载)
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter ...
- Java04异常、断言、日志和调试
11 异常.断言.日志和调试 异常处理(exception handing) 使用断言来启动检测 Java日志框架 调试技巧 11.1 处理错误 如果一个方法不能够采用正常的途径完成任务,就通过另外一 ...
最新文章
- 恢复exchange2003的公共文件夹
- OpenCV限制对比度自适应直方图均衡(CLAHE)的实例(附完整代码)
- 人工机器:jetbot小车密码
- WPF 四种不同效果呼吸灯
- netstat命令---Linux查看网络和socket信息
- Cisco 静态nat配置
- Syncthing - 远程文件实时同步(P2P)工具简介、安装及使用
- 人事管理--转正功能需求分析
- Linux Shell中的简单命令组合使用
- 搜题接口API使用 授权使用
- 计算机中时序信号的作用是什么,时序信号
- SQL-按照最新时间分组
- JavaWeb自我学习——进一步学习MyBatis
- Day 17 - YOLO 相关概念说明
- 【转帖】年轻人不讲武德=白piao接口测试知识还白piao接口测试工具会员
- 计算机桌面24小时制设置,时间怎么设置24小时
- 哈尔滨星际探险机器人_[第26期]Jimu机器人星际探险
- 剑客vs刀客 Java vs .NET
- API代付系统/企业代付对接流程
- 解决java.util.LinkedHashMap cannot be cast to com.km.pojo.ItemCat问题
热门文章
- 为什么机器学习在投资领域不好使
- 【图像分割】基于matlab超像素SFFCM图像分割【含Matlab源码 1374期】
- 【图像加密】基于matlab仿射变换数字图象置乱【含Matlab源码 1171期】
- 【TWVRP】基于matlab遗传算法求解送货且带时间窗的车辆路径规划问题【含Matlab源码 1074期】
- 【语音编码】基于matlab PCM编解码【含Matlab源码 555期】
- 【优化预测】基于matlab人工鱼群算法优化BP神经网络预测【含Matlab源码 523期】
- swfupload 实例 php,文件上传之SWFUpload插件(代码)_php实例
- ZYNQ7020 FPGA如何从Flash启动的详细步骤
- python import as 实例化_python中import list,dictionary常量在class实例化时遇到的坑
- React-Native 双平台应用的测试发布和 CodePush 热更新部署