异常

  1. 编辑 -> 编译 -> 链接 -> 运行
  2. 异常的层次结构:
  3. 异常的分类
  • 检查性异常:编译的时候会被检查到(必须解决:try…catch)
  • 非检查异常:编译的时候不会被检查到,运行的时候会被检查到(Error和RuntimeException都是非检查异常)
  1. 异常的处理
  • 捕获异常(try——catch——finally)当前方法有能力处理异常,捕获并处理它
    catch、finally不可以同时省略
    demo

    try {//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)当前方法没有能力处理异常,交由方法调用者来处理
    demo

    public 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("自定义异常");}
    }

常见异常

  1. NullPointerException:空引用异常
  2. NumberFormatException:数值类型异常
  3. ClassNotFoundException:没有程序员要用到的类
  4. ArrayIndexOutOfBoundsException:访问超出索引
  5. ClassCastException:类型转换异常

断言

断言语句不会永远执行,可以屏蔽也可以启用
断言语句不可以修改变量和改变方法的返回值

Java——异常和断言相关推荐

  1. JAVA//异常、断言和日志

    1. 处理错误 1.2 异常分类 异常对象都是派生于 Throwable 类的一个实例.用户可以创建自己的异常类. Error 类层次结构描述了 Java 运行时系统的内部错误和资源耗尽错误. 应用程 ...

  2. Java核心技术笔记 异常、断言和日志

    <Java核心技术 卷Ⅰ> 第7章 异常.断言和日志 处理错误 捕获异常 使用异常机制的技巧 记录日志 处理错误 如果由于出现错误而是的某些操作没有完成,程序应该: 返回到一种安全状态,并 ...

  3. java 异常 日志_java中的异常、断言、日志(一)

    1.Java异常处理i.异常的概念和Java里面的异常体系结构1)基本概念:程序中的异常,一般成为例外情况,可以理解为是非正常情况,其他编程语言里面也有这样的情况,Java里面同样存在这样一个体系结构 ...

  4. Java基础(四)——异常、断言、日志

    文章目录 异常.断言.日志 1 异常 2 断言 3 日志 异常.断言.日志 在Java语言中,给出了3种处理系统错误的机制 抛出一个异常 使用断言 日志 1 异常 Error:程序无法处理的错误,无法 ...

  5. Core Java 读后感 - 第七章 异常、断言和日志

    第七章 异常.断言和日志 7.1 处理异常 如果由于出现错误使得某些操作没有完成, 程序应该: 返回到一种安全状态,并能够让用户执行其他命令 允许用户保存所有工作的结果,并以妥善的方式终止程序 异常处 ...

  6. java核心技术 第11版 异常, 断言和日志

    java使用了一种称为异常处理(exception handing) 的错误捕获机制, 断言可以有选择的启动检查 处理错误 假设java程序运行期间出错,若是某个方法不同通过正常途径完成任务, 方法并 ...

  7. java异常对象引用变量_Java面向对象编程-异常处理

    第九章 异常处理 异常情况会改变正常的流程,导致恶劣的后果,为了减少损失,应该事先充分预料所有可能出现的异常,然后采取以下措施: 首先考虑避免异常,彻底杜绝异常的发生:如果不能完全避免,则尽可能地减少 ...

  8. java 异常_Java 进阶之异常处理

    本文的主要内容分为 Java 异常的定义.Java 异常的处理.JVM 基础知识(异常表.JVM 指令分类和操作数栈)及深入剖析 try-catch-finally 四部分(图解形式).在深入剖析 t ...

  9. 一篇不错的讲解Java异常的文章(转载)

    六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter ...

  10. Java04异常、断言、日志和调试

    11 异常.断言.日志和调试 异常处理(exception handing) 使用断言来启动检测 Java日志框架 调试技巧 11.1 处理错误 如果一个方法不能够采用正常的途径完成任务,就通过另外一 ...

最新文章

  1. 恢复exchange2003的公共文件夹
  2. OpenCV限制对比度自适应直方图均衡(CLAHE)的实例(附完整代码)
  3. 人工机器:jetbot小车密码
  4. WPF 四种不同效果呼吸灯
  5. netstat命令---Linux查看网络和socket信息
  6. Cisco 静态nat配置
  7. Syncthing - 远程文件实时同步(P2P)工具简介、安装及使用
  8. 人事管理--转正功能需求分析
  9. Linux Shell中的简单命令组合使用
  10. 搜题接口API使用 授权使用
  11. 计算机中时序信号的作用是什么,时序信号
  12. SQL-按照最新时间分组
  13. JavaWeb自我学习——进一步学习MyBatis
  14. Day 17 - YOLO 相关概念说明
  15. 【转帖】年轻人不讲武德=白piao接口测试知识还白piao接口测试工具会员
  16. 计算机桌面24小时制设置,时间怎么设置24小时
  17. 哈尔滨星际探险机器人_[第26期]Jimu机器人星际探险
  18. 剑客vs刀客 Java vs .NET
  19. API代付系统/企业代付对接流程
  20. 解决java.util.LinkedHashMap cannot be cast to com.km.pojo.ItemCat问题

热门文章

  1. 为什么机器学习在投资领域不好使
  2. 【图像分割】基于matlab超像素SFFCM图像分割【含Matlab源码 1374期】
  3. 【图像加密】基于matlab仿射变换数字图象置乱【含Matlab源码 1171期】
  4. 【TWVRP】基于matlab遗传算法求解送货且带时间窗的车辆路径规划问题【含Matlab源码 1074期】
  5. 【语音编码】基于matlab PCM编解码【含Matlab源码 555期】
  6. 【优化预测】基于matlab人工鱼群算法优化BP神经网络预测【含Matlab源码 523期】
  7. swfupload 实例 php,文件上传之SWFUpload插件(代码)_php实例
  8. ZYNQ7020 FPGA如何从Flash启动的详细步骤
  9. python import as 实例化_python中import list,dictionary常量在class实例化时遇到的坑
  10. React-Native 双平台应用的测试发布和 CodePush 热更新部署