Java教程

java中的异常处理

本文主要是介绍java中的异常处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

一、什么是异常

二、异常的基本用法

三、抛出异常

四、finally的使用


一、什么是异常

    public static void main(String[] args) {
        System.out.println(10/0);
    }

  

发生异常如果没有处理,那么系统就会交给jvm去处理,而jvm进行处理的时候程序就会停止。

 异常就是在程序员运行时,出现错误时通知调用者的一种机制。

 Throwable派生出的两个子类Error和Exception(错误和异常)

RuntimeException为运行时异常,IOException为编译时异常。

Error是java在运行时内部错误和资源耗尽错误,应用程序不抛出异常,必须由程序员处理这些异常:

 

 

二、异常的基本用法

异常处理的基本用法为

try {
}catch (){
            
}finally {
            
}

 try中存放的是可能存在异常代码

catch存放的是出现异常后的行为

finally中存放的是代码块的善后工作,最后执行

例:

    public static void main(String[] args) {
        try {
            System.out.println(10/0);
        }catch (ArithmeticException a){
            a.printStackTrace();
        }finally {
            System.out.println("xccccc");
        }
    }

 

 由上面我们可以看出代码继续执行了下去,由于Exception是所有异常的基类,所以我们可以直接在catch中写入但是不建议这样做,不清楚异常出现在什么地方。

注意:catch中的内容只能在出现异常的时候执行。

 

三、抛出异常

操作者和java内置的类会抛出一些异常,我们通常使用throw关键字来操作。

    public static void func() throws ArrayIndexOutOfBoundsException{
        int[] arr={1,2,3,4};
        System.out.println(arr[100]);
    }
    public static void main(String[] args) {
        func();
    }
    public static int func() throws FileNotFoundException {
        File file=new File("");
        Scanner sc=new Scanner(file);
        return sc.nextInt();
    }

 

四、finally的使用

finally执行是在方法返回之前,catch和finally中同时存在return,就会执行finally中的return,不会执行其他的。

public class practice {
    public static int func(){
        try {
            System.out.println(10/0);
        }catch (ArrayIndexOutOfBoundsException a){
            return 1;
        }finally {
            return 0;
        }
    }
    public static void main(String[] args) {
        System.out.println(func());
    }
}

 

 

这篇关于java中的异常处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!