Java中的异常机制

在java中,所有的异常都有一个共同的父类 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。
Java异常特点:

Java异常特点:
1)Java异常处理是面向对象处理方式
2) 一旦代码出现异常问题,JVM底层则会创建一个异常类相关的对象
3)异常对象产生后,会根据代码对异常的处理机制进行操作,其中异常处理机制包括捕获异常和抛出异常两种, 如果没有异常操作,则java程序会中断执行

Throwable 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。

1)Exception(异常)是应用程序中可能的可预测的问题。异常一般是在特定环境下产生的,通常出现在代码的特定方法和操作中。
例如: 你对一个null对象进行操作就会产生空指针异常。

Object obj = new Object();

你要知道obj是一个Object指针变量,指向Object类的一个实例,我们说obj是一个对象,是=实质是它指向一个对象的首地址,如果这个指针变量obj没有指向任何空间,你调用他的方法和属性就会出问题。

Object obj = new Object();
obj.equals("123");

这个是没错的,但换成下面的语句

Object obj = null;
obj.equals("123");

就会出现空指针异常
2)Exception(异常)又能被分为两类

受检异常(非运行时异常)与非受检异常(运行时异常)的异常处理方法:
受检异常:在编译时被强制检查的异常称为“受检异常”。即在方法的声明中声明的异常
处理方法:1.使用try..catch..finally进行捕获

try{
    //可能出现异常的代码部分
 }catch(异常类型 异常变量){
    //执行异常操作
}catch(异常类型 异常变量){
    //执行异常操作
 }…
finally{
        //处理完try与catch操作后的收尾操作,异常出口
} 
      2.在产生异常的方法声明后面写上throws 某一个Exception类型,如throws  Exception,将异常抛出到外面一层去。
public void test() throws  Exception{
    //存在异常的代码块
}

非受检异常:在方法的声明中没有声明,但在方法的运行过程中发生的各种异常被称为“非受检异常”不要求一定要把它捕捉或继续抛出
throw抛出异常对象注意:

 1、throw一般存在于catch语句当中,用于出现异常后的一种操作方式
 2、捕捉的异常和抛出的异常不一定相同,可以不一样
 3、throw抛出的异常对象如果是检测异常,则所在的方法必须要通过throws显性抛出
 4、throw抛出的异常对象如果是非检测异常,则方法上可以选择性定义throws

自己也可以自定义出一个类来拓展Exception类
格式如下:

public class 自定义异常类名 extends Exception{

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值