精华内容
下载资源
问答
  • java异常类型分为哪

    万次阅读 2018-03-19 13:52:47
    异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。异常处理的主要用途是提供准确的错误消息,解释失败的原因、...使用Java异常处理机制*把可能会发生错误的代码放进try语句块中。...


        异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。

    异常处理的主要用途是提供准确的错误消息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序能继续运行。

    Java中的异常捕获语句

        Java 中所有可捕获的异常都派生自 Exception 类。

    使用Java异常处理机制

    *把可能会发生错误的代码放进try语句块中。

    *当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。catch语句块中的代码用于处理错误。

    *当异常发生时,程序控制流程由try语句块跳转到catch语句块。

    *不管是否有异常发生,finally语句块中的语句始终保证被执行。

    *如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。

    JDK中与异常相关的类

     

    Java中的异常分类

    Throwable类有两个直接子类:

    Exception:出现的问题是可以被捕获的;

    Error:系统错误,通常由JVM处理。

    可捕获的异常又可以分为两类:

    (1)check异常:直接派生自Exception的异常类,必须被捕获或再次声明抛出

    (2)runtime异常:派生自RuntimeException的异常类。使用throw语句可以随时抛出这种异常对象:

    throw new ArithmeticException(…);

    异常的“多态”特性

    *可以有多个catch语句块,每个代码块捕获一种异常。在某个try块后有两个不同的catch块捕获两个相同类型的异常是语法错误。

    *使用catch语句,只能捕获Exception类及其子类的对象。因此,一个捕获Exception对象的catch语句块可以捕获所有“可捕获”的异常。

    *将catch(Exception e)放在别的catch块前面会使这些catch块都不执行,因此Java不会编译这个程序。

    “finally”的功用

    *资源泄露:当一个资源不再被某应用程序使用,但此程序并未向系统声明不再使用此资源时发生这种情况

    *finally语句块主要用于解决资源泄露问题,它位于catch语句块之后,JVM保证它们一定执行。

    *注意:finally语句块中也可能发生异常,如果这种情况发生,先前的异常被放弃。

    展开全文
  • Java异常分为哪两大类

    千次阅读 2020-07-16 17:11:25
    java异常分类: 异常java中以类和对象的形式存在,那么异常的继承结果是怎样的? Object Object下有Throwable Throwable下有个分支:Error(不可处理,直接退出JVM)和Exception(可处理的) Exception下有...

    java中异常分类:

    1、异常在java中以类和对象的形式存在,那么异常的继承结果是怎样的?

    最先是Object

    • Object下有Throwable
      • Throwable下有两个分支:Error(不可处理,直接退出JVM)和Exception(可处理的)
        Exception下有两个分支: Exception直接子类,RuntimeException。

        • Exception的直接子类:编译时异常(要求程序员在编写程序阶段必须预先对这些异常进行处理,不处理,编译不通过)
          编译时异常也被称为:受检异常(CheckedException)、受控异常。

        • RuntimeException:运行时异常(在编写程序阶段程序员可以处理,也可以不处理)。
          运行时异常也被称为:未受检异常(UnCheckedException)、非受控异常。


    2、下面给出常见异常类的继承结构图:
    在这里插入图片描述

    3、编译时异常和运行时异常,都是发生在运行阶段。编译阶段异常是不会发生的。

    编译时异常因为什么而得名?因为编译时异常必须在编译前先处理,如果不处理编译器报错,因此得名。

    4、所有异常都是在运行阶段发生的。因为只有程序运行阶段才可以new对象。因为异常的发生就是new异常对象。

    编译时异常和运行时异常的区别是什么?

    答:编译时异常一般发生的概率比较高。对于一些发生概率高的异常,需要在编译时预先对其处理。
    运行时异常一般发生的概率很低。你可以预先处理,也可以不处理。

    假设java中没有对异常进行划分,没有分编译时异常和运行时异常,所有的异常都需要在编写阶段对其预处理,将是怎样的效果?
    首先,如果这样做的话,程序肯定是绝对的安全。
    但是程序员就太累,到处都是处理异常的代码,显得很乱。

    5、java中对异常的处理方式包括两种方式:
    第一种:在方法声明的位置上,使用throws关键字,抛给上一级。谁掉用我我就抛给谁。
    第二种:使用try…catch语句进行异常的捕捉。

    异常发生之后,如果选择了上抛,抛给了调用者,调用者需要对这个异常继续处理,同样调用者处理这个异常也有两种方式。

    注意:java中异常发生之后如果一直上抛,最终抛给了main方法,main方法继续上抛,抛给了调用者JVM,JVM知道这个异常发生,只有一个结果,终止程序执行。

    测试代码:

    public class Test03 {
        public static void main(String[] args) {
            System.out.println(100 / 0);
            /*
            * 程序执行完100/0,发生了ArithmeticException异常,底层new了一个ArithmeticException对象
            * 因为没有进行捕捉异常,所以进行异常上抛,抛给调用者main方法,main方法也没有处理,
            * 将这个异常抛给了JVM,JVM最终终止程序的执行。
            *
            * ArithmeticException 继承 RuntimeException,属于运行时异常
            * 在编写阶段不需要对这种异常进行预先处理,编译通过。
            *
            * */
    
            System.out.println("hello world!");  // 没有执行
        }
    }
    

    展开全文
  • java两种异常类型

    千次阅读 2018-09-19 09:51:13
    java有俩种异常类型:受检查异常和运行时异常((RuntimeException, 又叫非检查异常 ) 检查异常,这些异常从程序的角度来说是必须经过捕捉处理的,否则编译通不过,比如IOException,SQLException。 不受检查异常...

     

    Throwable包含了错误(Error)和异常(Excetion两类) Exception又包含了运行时异常

    java有俩种异常类型:受检查异常和运行时异常((RuntimeException, 又叫非检查异常 )

    检查异常,这些异常从程序的角度来说是必须经过捕捉处理的,否则编译通不过,比如IOException,SQLException。

    不受检查异常:

    可分为Error和运行时异常,Error是程序无法处理的如OutOfMemoryError,如果出现Error,java虚拟机会终止线程。

    运行时异常,如RunTimeException,IndexOutOfBoundsException,NullPointerException,这些异常一般是由程序的逻辑错误引起的,解决此类异常应该仔细排查程序,不需要进行检查。

    两者的区别

            非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。

    受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。

    对于运行异常,建议不要用 try...catch...捕获处理,应该在程序开发调试的过程中尽量的避免,当然有一些必须要处理的,自己知道了那个部分会出现异常,而这种异常你要把它处理的你想要的结果,例如:空值处理。

    附上java异常类结构图

    è¿éåå¾çæè¿°

    展开全文
  • Java中有两种异常:受检查的异常(checked)和不受检查的异常(unchecked)。不受检查的异常不需要在方法或者是构造函数上声明,就算是方法或者是构造函数可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者...

    Java中有两种异常:受检查的异常(checked)和不受检查的异常(unchecked)。

    不受检查的异常不需要在方法或者是构造函数上声明,就算是方法或者是构造函数可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者构造函数上声明。

    展开全文
  • 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...
  • Java 异常

    千次阅读 多人点赞 2019-04-27 20:18:44
    在有效使用异常的情况下,异常能清晰的回答3个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在“抛出,异常信息回答了“为什么“会抛出。 Java异常机制用到的几个关键字:try、catch、finally、thr....
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些...Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...
  • 链接:...来源:牛客网 Throwable是所有异常的根,java.lang.Throwable Error是错误,java.lang.Error Exception是异常java.lang.Exception 二、Exception 一般分为
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java ...
  • Java两种处理异常方法的区别

    万次阅读 多人点赞 2017-11-26 18:02:32
    Java中,把异常信息封装成了一个类,当出现了问题时,就会创建异常类对象并抛出异常相关信息(如异常出现的位置、原因等等)。在Java中使用Exception类来描述异常。字面翻译就是“意外、例外”的意思,也就是非...
  • Java框架总结

    万次阅读 多人点赞 2020-01-17 14:14:13
    本系列用来记录常用java框架的基本概念、区别及...SSH框架是JAVA EE中三框架所集成,分别是Struts,Spring,Hibernate框架所组成,是当前比较流行的java web开源框架。 集成SSH框架的系统从职责上分为(Struts2--...
  • 2020最新Java常见面试题及答案

    万次阅读 多人点赞 2019-10-26 15:53:35
    面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、...
  • Java设计模式

    千次阅读 多人点赞 2019-09-03 23:20:31
    Java设计模式 1.工厂模式 工厂模式一般分为简单工厂、工厂、抽象工厂3钟情况,属于创建型设计模式。 2.生成器模式 3.观察者模式 4.桥接模式 5.代理模式 6.状态模式 7.访问者模式 ...
  • Java中的异常几类?

    万次阅读 多人点赞 2018-01-30 10:32:30
    Java中的异常和处理详解 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此...
  • Java数据类型转换

    千次阅读 2016-08-30 20:33:38
    Java数据类型转换 在说明数据类型转换(下简称类型转换)之前,得先说明什么是数据,数据可不仅仅是一个值,而是包括描述数据的种类(数据类型)、值以及基于其类型基础上可进行的操作的集合。从类型A转换到类型B,...
  • java异常处理机制及两种异常的区别

    万次阅读 2012-10-07 12:25:24
    java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。  try 关键字后紧跟一个花括号括起来的代码块,简称try块。同理:下面的也被称为相应的块。  它里面可置引发异常的代码。...
  • 史上最全面Java面试汇总(面试题+答案)

    万次阅读 多人点赞 2018-07-06 14:09:25
    JAVA面试精选【Java基础第一部分】 JAVA面试精选【Java基础第二部分】 JAVA面试精选【Java基础第三部分】 JAVA面试精选【Java算法与编程一】 JAVA面试精选【Java算法与编程二】 Java高级工程师—面试(1) ...
  • 1.异常类有分为编译时异常和运行时异常 1.1编译时异常:写代码的时候就会提醒你有异常 常见的编译时异常有: IOException SQLException CloneNotSupportedException parseException 1.2运行时异常:java....
  • JAVA异常的几处理方式

    万次阅读 2019-01-16 22:48:00
    首先处理异常主要有两种方式:一种try catch,一种是throws。 1. try catch: try{} 中放入可能发生异常的代码。catch{}中放入对捕获到异常之后的处理。其中catch中e.printStackTrace()作用就是,在控制台打印程序...
  • 2019年Java面试题基础系列228道 第一篇更新1~20题的答案解析 2019年Java面试题基础系列228道(1),快看看哪些你还不会? 第二篇更新21~50题答案解析 2019年Java面试题基础系列228道(2),查漏补缺! 第三篇...
  • JAVA 基础

    千次阅读 多人点赞 2016-11-04 10:33:04
    本身是搞Android开发的,觉得java基础太重要了,所以就开始写一点java基础方面的内容,后续会继续的写一些关于基础方面的博文
  • Java异常的种类

    千次阅读 2019-07-02 14:20:03
    JAVA异常分为2类 2.1错误: Error 就是指在程序运行过程中发生非常严重的错误,导致程序无法继续正常运行,甚至崩溃或宕机,这种错误不是不可以恢复,但恢复需要很大 代价(比较重启系统,重启服务器) 。 2.1.1 常见...
  • 主要介绍了通过实例了解checked和unchecked异常,Java异常分为两种类型,checked异常和unchecked异常,另一种叫法是异常和错误。下面小编就带大家来一起学习一下吧
  • 文章目录1、类加载和实例化2、Java是值传递还是引用传递3、类加载的主要过程4、什么是GC5、简述垃圾回收过程6、内存泄漏7、导致内存泄漏的场景8、Java中堆和栈的区别9、ArrayList、LinkedList、Vector的区别10、...
  • Java引用类型有哪些

    万次阅读 2019-07-05 16:48:32
    Java类型一般有两种,即基本数据类型与引用数据类型。其中,引用数据类型在存储堆中对需要引用的对象进行引用,引用是Java面向对象的一个特点,在Java入门中,我们会接触到四种Java的引用类型,接下来就说说这四种...
  • Java中所有异常的根是Throwable类。该类有个子类: Error和Exception。 1.Error类 Error也称为错误,通常是由JVM错误或者系统奔溃等引起的,无法通过程序来解决,所以在程序中不需要主动捕捉处理。 2....
  • java 异常分类和处理机制

    万次阅读 多人点赞 2018-06-01 15:08:26
    一、背景介绍 程序在运行过程中发生错误或异常情况是不可避免的,如果每一个运行时错误都由...Java语言定义了很多异常类,将运行错误和异常的信息和处理方法封装在了异常类中,帮助程序员检查和控制异常。即J...
  • Java异常面试题

    万次阅读 多人点赞 2019-09-29 11:55:48
    文章目录1. Error 和 Exception 区别是什么?2. 运行时异常和一般异常区别是什么?3.NoClassDefFoundError 和 ClassNotFoundException 区别?4. JVM 是如何处理异常的?...7. Java常见异常有哪些 1. Error 和 Exce...
  • MyBatis面试题(2020最新版)

    万次阅读 多人点赞 2019-09-24 16:40:33
    整理好的MyBatis面试题库,史上最全的MyBatis面试题,MyBatis面试宝典,特此分享给大家 MyBatis 介绍 MyBatis 是一款优秀的...MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plai...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 161,120
精华内容 64,448
关键字:

java异常类型分为哪两种

java 订阅