java异常处理机制

目录

异常说明

     异常分为

     体系结构

 常见的异常类​

异常语法

     使用分为三种:往上抛、捕获、抛出

语法

try-catch-finally执行流程

异常对象的常用方法

异常类

说明

代码


异常说明

        异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的

        就是有的时候会产生在运行当中的错误

     异常分为

                检查性异常

                        最具代表的检查性异常是用户错误或问题引起的异常,这时程序程序无法遇见。

                运行时异常

                        运行时异常是可能被程序员避免的一场,与检查性异常相反

                        运行时异常可以在编译时被忽略

                错误

                        错误不是异常,而是脱离了程序员控制的问题,就是程序员写的代码有问题

     体系结构

                throwable这时是所有异常类的总和:检查异常(Error)和运行时异常(Exception)

                但是我们只能捕获运行时异常:Exception

         常见的异常类

异常语法

     使用分为三种:往上抛、捕获、抛出

        往上抛

                就是当执行的时候有出现了异常,那么这个异常就会往上抛,交给调用者

        捕获

                就是程序出现异常的时候,我们不是往上跑,而是我们来自己解决这个异常

        抛出

                就是在某个时候,我们需要程序出现异常,从而来停止程序

        注意:不管是往上抛,还是捕获,在使用异常类的时候,都不会对自己不包含的异常进行反应

语法

//往上抛,多个异常之间,可以使用“,”来进行分隔
    方法头() throws 异常{
        方法体
    }
//实例
    public void abc1() throws Exception,RuntimeException{
        //方法体;
    }



//捕获
try{
    //可能会出异常的代码块
}catch(异常类 变量名){
    //出现异常可能执行的代码
    //变量名.异常方法();
}finally{
    //在程序之前结束之前,一定会执行的代码体
}
//实例
    public void abc2(){
        try{
            int sun=0;
            //这里0不能作为除数会出现异常,catch捕获到异常,跳转到catch代码块中,
            System.out.println(10/sun);
            System.out.println("执行成功");
        }catch(Exception E){
            //在控制台打印控制信息
            E.printStackTrace();
        }finally{
            System.out.println("程序执行结束");
        }
    }




//抛出
//    方式一:throw new 异常类()
//    方式二:throw new 异常类("自定义异常信息")
//实例
public void abc3(){
    //throw new Exception ();
    throw new Exception ("没有方法体");
}

        注意

                捕获语法有几种方式:try-catch、try-catch-finally、try-finally、

                一个try可以写多个catch代码块类来捕获对应的异常,try-catch它之间可以互相的嵌套

                如果出现的异常,比定义捕获的异常还要大,那么就会捕获不到异常

        try-catch-finally执行流程

                首先执行try里面的代码,如果出现了异常,并捕获到了那么就会跳转到catch代码块中,然后最后执行finally代码块,如果如果这时程序没有结束,那么就会继续执行try下面的语句 finally并非在最后执行,而是在程序结束之前一定会执行里面的代码块

   异常对象的常用方法

                String getMessage():返回异常消息的字符串

                void PrintStackTrace():控制台打印异常消息

                String toString():返回简略的异常信息

异常类

        说明

                有的时候有在java异常类当中没有我们需要的异常类的时候

                就可以自定义异常类了

        代码

                继承现有的异常结构:RuntimeExceptiona(不用处理)、Exception(需要处理)

                提供重载的构造器

public class 类名  extends Exception {
    public  类名(){
        
    }
    public 类名(String message){
        super(messsage)
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值