Java异常及异常处理详解

java基础(jdk1.8)

**

异常处理

**

Java里异常处理是一个要掌握的技能

      异常(Exception)和错误(Error)是两个不同的概念,要区分其概念和处理方式。

Error

先看error是其概念较为简单。

Error: 程序运行或执行的不可抗拒的阻力

    int a = null;
    //error就是诸如这样的写了错误的语句

由此可以看出,error就是我们在写程序代码的时候因为疏忽或其他原因必须修改的程序语句或代码块

error就是我们必须克服的问题,而且必须将其改正确才能运行程序

Exception

Exception: 程序出现一些无法继续执行的阻力

1.运行期异常

程序可以运行,但到出现异常的位置,程序会自动退出,并返回-1(正常退出返回0)


    int [] arr = new int[10];
    arr[arr.length] = 0;
    //这里编译通过,但运行时,会报一个
    //ArrayIndexOutOfBoundsException的异常(数组下标越界)

2.编译器异常

程序在编译期,编译器就会显示其错误的异常。例:


    FileInputStream f = new FileInputStream("filename");
    

处理异常

我们处理异常一般有两种方式:捕获和抛出异常

1.捕获异常

try{ … }catch(){}


    try{

        //异常语句块或可能发生异常语句块

    }catch(){

        //发生异常后的处理

    }finally {

        //统一出口(不管发不发生异常都会执行)

    }

注意:

try和catch必须有,而finally是可选参数

发生异常后,try块直接跳过,执行catch内语句,然后执行finally内语句(如果有finally)

如果未发生异常,则不会执行catch的语句块

2.抛出异常

出现异常时不进行处理,而是沿着调用向上传递,让调用其方法进行处理,叫抛出异常(throws),是一种消极的处理机制。

先产生异常对象,然后通过throw语句进行抛出


    IOException o = new IOException();
    throw o;

注意:

可以抛出的异常必须是Throwable或其子类的实例

异常类继承关系

最后:异常不要滥用,简单逻辑问题使用if while等判断

上一篇 》String类

 

下一篇 》Java内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值