栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java | Exception异常

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java | Exception异常

一.异常介绍

异常:在程序执行过程中发生的不正确情况称为异常。(开放过程中语法错误与逻辑错误不算异常)

分类:

1)Error(错误):Java虚拟机无法解决的严重错误,如JVM系统的内部错误、资源耗尽等。

2)Exception:又分为运行时异常和编译时异常。 

 注意:

1)运行时异常可以不作处理,因为这类异常很普遍,若全处理可能会对程序的可读性和运行效率产生影响。

2)编译时异常是必须处理的异常。编译异常常发生在文件、网络、数据库中。

二:异常处理

【常用处理方式有两种】

1)try-catch-finally

捕获发生的异常,自行处理

2)throws

将发生的异常抛出,交给调用者来处理,最顶级的处理者就是jvm

【处理机制】

 如果没有显示用try-catch,则默认为throw


 【try-catch】

快速入门:

 public String getName;
   public static void main(String[] args) {
        try {
            Person person = new Person();
            person = null;
            System.out.println(person.getName);//空指针异常
            int n1=10;
            int n2=0;
            int res=n1/n2;//数字运算异常
        } catch (NullPointerException e) {
            System.out.println("空指针异常="+e.getMessage());
        }catch(ArithmeticException e){
            System.out.println("算数异常="+e.getMessage());
        }catch(Exception e){
            System.out.println(e.getMessage());
        }finally {
            System.out.println("无论如何finally语句都会被执行");
        }
    }
}

1)如果发生异常,则异常后的代码不会正常执行,直接进入catch块

2)如果没有发生异常,则不会进入catch块内

3)不管是否发生异常都会执行finally

4)也可以进行try-finally,相当于没有捕获异常,程序会崩掉

 

【throws】

1)我们在处理异常的时候, 通常希望知道这段代码中究竟会出现哪些可能的异常. 我们可以使用 throws 关键字, 把可能抛出的异常显式的标注在方法定义的位置. 从而提醒调用者要注意捕获这些异常

2)throws后面的类型可以是方法中的异常类型,也可以是它的父类

public static int divide(int x, int y) throws ArithmeticException {
 if (y == 0) {
 throw new ArithmeticException("抛出除 0 异常");
 }
 return x / y;
}

【抛出异常】

1)除了 Java 内置的类会抛出一些异常之外, 程序猿也可以手动抛出某个异常. 使用 throw 关键字完成这个操作.

public static void main(String[] args) {
        System.out.println(divide(10, 0));
    }
    public static int divide(int x, int y) {
        if (y == 0) {
            throw new ArithmeticException("抛出除 0 异常");
        }
        return x / y;
    }

 【throws和throws】

throws:在方法声明处。异常处理的一种方式。后面跟异常类型。

throw:在方法体内。手动生成异常对象的关键字。后面跟异常对象。 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340895.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号