java异常体系

|——Throwable 实现类描述java的错误和异常 一般交由硬件处理

    |——Error(错误)一般不通过代码去处理,一般由硬件保护

    |——Exception(异常)

      |——RuntimeException(运行时异常)

      |——非运行时异常

多个try-catch语句联用时的顺序

  1、顺序执行,从上到下,有一个catch子句匹配之后,后面的自动不在执行

  2、如果多个cach内的异常有父子类的关系

    一定要,子类异常在上,父类异常在下

自定义异常类型

  一般都是提供两个构造参数,一个无参一个有参数,有参数的一般是调用父类的有参构造函数,调用形式super(message)

运行时异常

RuntimeException

  |——ClassCastException多态中可以使用instanceof 进行规避

  |——ArithmeticException进行if判断,吐过除数为0进行return

  |——NullPointerException进行if判断是否为null

  |——ArrayIndexOutBondsExcetion使用数组length属性以避免数组越界。

  在后面我们异常处理的时候,经常把捕获的一场装华为运行时异常抛出,尤其是写一些函数框架时。throw new RuntimeException(e);

非运行时异(受检异常) 这些异常必须做出try-catch不然编译器无法通过 注意事项

  1、子类覆盖父类的方法时,父类方法抛出异常,子类的覆盖方法可以不抛出异常或者抛出父类方法相同的异常,或者抛出父类方法异常的子类。

  2、父类方法抛出了多个异常,子类覆盖方法时,只能抛出父类异常的子集

  3、父类没有抛出异常,子类不能抛出异常。子类发生非运行时异常时,需要进行try-catch处理

  4、子类不能比父类抛出更多的异常。

  凡事应当向父类看齐,父类已有就应当向分类看齐。

finally块 一般用于释放资源 无论程序正常与否都执行finally块

  1.只有一种情况,jvm退出了System.exit(0)这时候不会执行finally的内容

  2、return语句也无法阻止finally的执行

(3)简单说说java中的异常体系的更多相关文章

  1. java中的异常体系?throw和throws的区别?

    一.java中的异常体系 Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为Error和Exception,分别表示错误和异常.其中异常类Exception又分为运行时异常(Ru ...

  2. 夯实Java基础系列10:深入理解Java中的异常体系

    目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...

  3. Java学习之==>异常体系

    一.定义 程序运行时总是会遇到各种各样的问题,Java中的异常体系就是针对这些问题提出的统一的处理方案.在Java中,将这些各种各样的问题进行归类后,统一称为异常. 二.分类 我们先来看看下面这个图: ...

  4. java中接口的简单运用&java中的一些异常(运用myeclipse)

    package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return& ...

  5. 【Java心得总结二】浅谈Java中的异常

    作为一个面向对象编程的程序员对于 下面的一句一定非常熟悉: try { // 代码块 } catch(Exception e) { // 异常处理 } finally { // 清理工作 } 就是面向 ...

  6. Java中的异常简介

    Java中异常的分类 Java中的异常机制是针对正常运行程序的一个必要补充,一般来说没有加入异常机制,程序也能正常运营,但是,由于入参.程序逻辑的严谨度,总会有期望之外的结果生成,因此加入异常机制的补 ...

  7. Java 中的异常

    前段时间集合的整理真的是给我搞得心力交瘁啊,现在可以整理一些稍微简单一点的,搭配学习 ~ 突然想到一个问题,这些东西我之前就整理过,现在再次整理有什么区别嘛?我就自问自答一下,可能我再次整理会看到不一 ...

  8. Java 中的异常和处理详解

    Java 中的异常和处理详解 原文出处: 代码钢琴家 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误 ...

  9. 深入探讨Java中的异常与错误处理

    Java中的异常处理机制已经比较成熟,我们的Java程序到处充满了异常的可能,如果对这些异常不做预先的处理,那么将来程序崩溃就无从调试,很难找到异常所在的位置.本文将探讨一下Java中异常与错误的处理 ...

随机推荐

  1. 【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

    分析目前项目结构 眼前出现这么一坨坨的文件夹,相信很多人已经看不下去了.是的,首先就是要把它给做掉. 按照这个项目文件夹的命名意图,大概可以划分如下: 1.Business:业务代码 2.Data:数 ...

  2. (二)Windows下Redis的主从复制

    Redis拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强大的多级服务器集群架构.目前在同一台window下安装三个r ...

  3. 自制基于HMM的中文分词器

    不像英文那样单词之间有空格作为天然的分界线, 中文词语之间没有明显界限.必须采用一些方法将中文语句划分为单词序列才能进一步处理, 这一划分步骤即是所谓的中文分词. 主流中文分词方法包括基于规则的分词, ...

  4. xshell无法连接到linux主机原因分析

    xshell连接linux主机时,会出现错误:Could not connect to '192.168.89.144' (port 22): Connection failed.  但是这时能pin ...

  5. Java程序性能优化读书笔记(一):Java性能调优概述

    程序性能的主要表现点: 执行速度:程序的反映是否迅速,响应时间是否足够短 内存分配:内存分配是否合理,是否过多地消耗内存或者存在内存泄漏 启动时间:程序从运行到可以正常处理业务需要花费多少时间 负载承 ...

  6. 华为oj---合并数组

    题目标题: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 详细描述: 接口说明 原型: voidCombineBySort(int* pArray1,intiArray1Num,int* pAr ...

  7. C++的输入和输出

    C++是一种常用的编程语言.一个完整的程序至少要有一个输出,而我们也经常需要在程序内进行大量输入和输出.所以今天,我和大家谈一谈输入和输出. 1.cin和cout.可以连续输入,使用流(>> ...

  8. WinForm 控件(下)

    10.PictureBox 外观,Image可以选择图片路径行为,SizeMode可以设置图片大小布局方式 11.Imagelist--图片集 imageList1.Images[n]; 12.not ...

  9. session工作原理简介

    session是什么 首先,我们需要知道session是什么.有比较专业的人将session称之为会话控制.说实在的,如果这么说的话,我也不清楚session到底算是什么. 其实session是一个存 ...

  10. 如何创建DLL文件

    动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的.所有的C语言标准库函数都存放在某一函数库中.在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添 ...