JAVA异常机制简述

1.类的继承结构

在JAVA所有的异常对象都是Throwable类的一个子类的实例

Exception包含两个分支,由于程序错误导致的异常属于RuntimeException,比如数组下标越界,空指针等。非程序本身问题的异常属于其他异常,譬如IO引起的异常。

派生自Error类或RuntimeException类的所有异常都属于为检查异常,而其他所有的异常都属于已检查异常,我们只需要为已经常异常指定异常处理器即可,换句话说,原则上,我们只需要为已检查异常编写catch语句。

2.方法异常的声明

方法在其首部应该声明所有可能抛出的异常

String readData(Scanner in)throw EOFException
{
     //...
}

3.异常的抛出

String readData(Scanner in)throw EOFException
{
     while(){
           if(){
                 throw new EOFException();
        }
    }
}    

4.方法的捕获

如果A方法调用了声明了抛出异常的B方法,那么在A方法中要么处理这个异常,要么继续将这个异常抛出。

try{
    //...
}
catch(FileNotFoundException e)
{
    //...
}
catch(IOException e){
   //...
}
finally
{
    file.close();
}

5.finally子句已经带资源的try语句

在上面代码中,我们使用了finally子句来进行文件关闭的操作,这在实际开发过程中是比较常见的需求,由于无论try语句块中是否出现异常,finally子句中的语句都会被执行,所以在finally子句进行文件关闭、流关闭以及数据库关闭等操作是一个比较好的选择,避免了try语句块内外编写重复的代码。

此外,另一种较好的选择是使用带资源的try语句,由于带资源的try会在退出(无论正常退出还是异常发生)时,自动调用res.close(),所以我们在不编写finally语句的情况下依然可以进行文件关闭等操作。

try(Scanner in = new Scanner(new FileInputStrem("/usr/tmp/test"))){
      while(in.hasNext())
              System.out.println(in.next());
}
时间: 2024-11-07 23:07:45

JAVA异常机制简述的相关文章

java 异常机制

浅谈java异常机制 下班闲来无事,看看java基础知识,做一下总结 异常机制:是java提供的一个解决突发事件或者误操作的一种控制流程的一种解决方案 Throwable 所有错误或者异常的超类,包含两个子类Error和Exection 其中Error错误是程序无法处理的,如内存溢出.机器断电等 Exception异常包括运行时异常和编译时异常 运行时异常类均继承RuntimeException,常见的如NullPointerException,ArithmeticException,Index

JAVA基础教程之JAVA异常机制

今天我们主要来说一说JAVA异常机制方面的内容.自设JAVA学习群457036818,大家可以交流一下 一. 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误.本文主要传授的是一些滚与Java语言的异常处理.Java语言的异常处理框架,是Java语言健壮性的一个重要体现. Java把异常当作对象来处理,而且定义一个基类java.lang.Throwable作为所有异常的超类.在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception.J

java——异常机制

java的异常是一种处理程序中错误的机制,是程序运行过程中发生的一些异常事件. 异常类分类 例如:在公路上开车,汽车爆胎了这是可以处理的的这就是Exception:公路上有好多小石子,但是没有必须下车扫干净了再走这就是RunTimeException:如果汽车突然爆炸了就是Error. 五个关键字throws.throw.try.catch.finally 定义一个类,写一个存在异常的方法,并抛出 public class TestEX { void m(int i) throws Arithm

java异常机制剖析

一.为什么要使用异常 首先我们可以明确一点就是异常的处理机制可以确保我们程序的健壮性,提高系统可用率.虽然我们不是特别喜欢看到它,但是我们不能不承认它的地位,作用.有异常就说明程序存在问题,有助于我们及时改正.在我们的程序设计当做,任何时候任何地方因为任何原因都有可能会出现异常,在没有异常机制的时候我们是这样处理的:通过函数的返回值来判断是否发生了异常(这个返回值通常是已经约定好了的),调用该函数的程序负责检查并且分析返回值. 虽然可以解决异常问题,但是这样做存在几个缺陷: 1. 容易混淆.如果

Java基础 -- 深入理解Java异常机制

异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常.因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的错误条件.当条件生成时,错误将引发异常. 一 异常分类 Java异常类层次结构图: 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Throwable 指定代码中可用异常传播机制通过 J

Java异常机制 学习笔记一

什么是异常? 异常,不正常也.Exception是Exception event的缩写,因此异常是一个事件,该事件发生在程序运行时. 异常会影响程序的连续性,使程序中断. 在Java中,一切皆对象,所以要定义异常,也需要使用对象.异常对象里封装了异常类型和程序发生异常时的状态. 我们经常说的抛出异常就是创建异常对象,并提交给运行系统. 异常捕获机制 当异常发生时,我们需要知道异常在哪里发生的,那么怎么定位异常的出处呢? 在Java中,使用call stack来记录方法调用顺序.当Java程序发生

Java异常机制

Exception 这种异常分两大类运行时异常和非运行时异常(编译异常).程序中应当尽可能去处理这些异常. 运行时异常:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常).IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理.这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生. 运行时异常的特点是Java编译器不会检查它,也就是说,当程

[学习笔记]Java异常机制

概述 异常 程序在执行时出现的不正常情况,是对问题的描写叙述.将问题进行对象的封装. Java中的异常,就是对不正常情况进行描写叙述后的对象体现. 异常体系 Throwable |--Error |--Exception |--RuntimeException 当中Error类处理严重异常,一般不编写针对性的代码对其进行处理. Exception类处理非严重异常,能够使用针对性的处理方式进行处理. 不管Error或者Excption都具有一些共同的属性和方法,比方不正常情况的信息和引发原因等.

八、java中异常机制

一.为什么要有异常处理机制? java中的异常处理机制简单的讲就是try..catch..finally的使用. 程序难免会出现错误, 如果没有异常处理机制, 那么程序员在编写代码的时候就必须检查特定的结果, 并在程序的很多地方去处理它. 有了异常处理机制后,就不必在每个方法调用处都检查, 只需要用try包裹住可能发生异常的代码段, 这样做的好处是: 1.降低了代码的复杂度,正如上面所说的,不需要每个方法调用处都去检查: 2.将“描述正常情况下应该做什么事情”和“如果出了错怎么办” 的逻辑分开: