java的异常处理机制

java的异常处理机制之try catch finally

生平第一次写博客,想想还有些小激动呢!
好吧,表面功夫到此为止,接下来就开始写无聊的代码啦…

首先你必须知道什么时候弄这玩意儿,什么错误能捕获什么不能
Error类代表了编译和系统的错误,不允许捕获;
Exception类包含运行异常类和非运行异常类这两个直接的子类,代表了标准Java库方法所激发的异常。

整不明白?谨记三点就行啦
1.语法错误(连编译都编译不了,不用捕获)
2.运行时异常(可以捕获)
3.系统错误(无能为力,捕获不了的)

Java的异常处理使用的5个关键字//这是你学习本节所必须了解的最基本知识
 try:可能产生异常的代码
 catch:出现异常后执行的代码
 finally:无论是否异常都会执行
 throw:手动抛出异常
 throws:方法可能抛出的异常

执行的流程如下图所示

异常处理机制执行流程

一脸懵逼看不懂?说简单点就是try{}里写可能出错的语句,catch{}里写出错后执行的语句(一般就是提示语句,提示你这里出错啦,仅此而已),如果你有一些语句必须要执行那就写finally{}里,不管出不出错它都会执行的

package demon01;
//异常处理机制
public class Test {

    public static void main(String[] args) {
        int a[]={1,2,3,4,5};//先定义一个数组用于实验(数组下标越界)
//进入异常处理机制
        try{
            System.out.println(a[5]);//出错点,数组下标越界错误
            System.out.println("能输出此信息说明没有出错");/*因为如果上条语句错了的话这条语句就被跳过了输出不了,所以
        说这条能输出就代表没有出错*/
        }

        catch(Exception Yang){
            System.out.println("输出此信息说明出错啦");//出错了才会执行catch里的语句
        }

         finally {
            System.out.println("不管错不错都会输出");
        }
 //异常处理机制结束
        System.out.println("帅的无法无天");//这条语句是为了证明程序继续向下执行


    }
}

相应的注释我已经写在代码里了,应该都能看懂吧

然后就有人想问啦,那try挺好写,catch小括号里的是啥玩意儿啊
先来看下Java异常类的结构图(这图是我盗的啊,不要在意?)
异常类层次结构图
Exception Yang就是定义一个Exception类叫Yang
其实catch的小括号里写的就是Java自带的类,每个错误都能对应到一个类,发现的
错误类型和你定义的类的类型匹配才算捕获到错误。新手不懂这些错误是什么类型
怎么办?没关系,Exception是整个异常层次结构的父类,不知道的时候选他就对了!
当然你也可以写好几个捕获(多路捕获)感觉就跟switch中的case语句差不多,匹配
到相应的错误,输出相应的提示信息

搞不懂没关系,新手平常使用一个Exception绝对够用了

写的挺长了,throw和throws下次再写吧

特别注意

▢try不能单独使用
▢try块中出现异常;异常后面的代码将不再执行
▢无论是否出现异常,finally块都将执行,即使try中return;finally块也会执行,finally不执行的唯一情况,强制终止程序运行System.exit(1);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值