Java中的异常Exception与处理方式详解

 更新时间:2024年01月12日 08:34:35   作者:好奇的7号  
这篇文章主要介绍了Java中的异常Exception与处理方式详解, Java语言中,将程序执行中发生的不正常情况称为"异常"(开发过程中的语法错误和逻辑错误不是异常),需要的朋友可以参考下

一. 五种异常

在异常Exception父类下有5个子类异常:

1.空指针异常NullPointerException

String name = null;
        try {
            System.out.println(name.length());//空指针异常
        } catch (Exception e) {
            e.printStackTrace();
        }

2.转型异常ClassCastException

例如:没有继承关系不能向下转型,否则~

3.数组越界异常ArrayIndexOutOfBoundsException 4.编译异常

还没运行就已经有错误,比如口没对好。

5.运行异常

语法上没什么问题,但运行起来会出问题,比如除以0。

注意:编译异常必须解决,运行异常不需要显式处理。

二. 异常如何处理(抛出)

方法1: try—catch

希望出现异常后程序继续运行,则在选中语句后,采用:

ctrl+alt+t,选择try-catch即可。

方法2: throw

在出现异常的条件下的方法体内直接throw出异常:执行throw则一定抛出了异常

可以理解为,在编程之前就预想到可能发生的异常,那么:

if(预想的异常情况出现){    throw new 相应的异常();//可以是自定义的异常}                         //还可以在括号内写上出现异常时的”输出语句“

即:既要 发现 异常,又要 处理 异常。

另外:这种具有针对性的声明只能抛出单个异常

方法3: throws

与throw方法不同,throws跟在方法声明后面,扔出使用此方法可能发生(或者在定义可能出现异常的变量的当前类后面throws出异常)的异常。

其只是发现异常,而不处理,交给方法的调用者来处。

并且一次可以抛出多个异常。

例如:

public static void method() throws ArithmeticException,Exception{
    ...;
}

三. 自定义异常

创建一个自己命名的class来继承运行异常RuntimeException

然后结合throw,就可以扔出这个自己命名类的异常了。

到此这篇关于Java中的异常Exception与处理方式详解的文章就介绍到这了,更多相关Java的异常Exception内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot 如何实现异步编程

    SpringBoot 如何实现异步编程

    在SpringBoot的日常开发中,一般都是同步调用的,但实际中有很多场景非常适合使用异步来处理,本文就详细的介绍一下SpringBoot 如何实现异步编程 ,具有一定的参考价值,感兴趣的可以了解一下
    2021-12-12
  • 详细聊聊Spring MVC重定向与转发

    详细聊聊Spring MVC重定向与转发

    大家应该都知道请求重定向和请求转发都是web开发中资源跳转的方式,这篇文章主要给大家介绍了关于Spring MVC重定向与转发的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • Springboot项目Mybatis升级为Mybatis-Plus的详细步骤

    Springboot项目Mybatis升级为Mybatis-Plus的详细步骤

    在许多 Java 项目中,MyBatis 是一个广泛使用的 ORM 框架,然而,随着 MyBatis-Plus 的出现,许多开发者开始迁移到这个更加简洁、高效的工具,它在 MyBatis 的基础上提供了更多的功能,所以本文将介绍Springboot项目Mybatis升级为Mybatis-Plus的详细步骤
    2025-03-03
  • springboot vue项目管理前后端实现编辑功能

    springboot vue项目管理前后端实现编辑功能

    这篇文章主要为大家介绍了springboot vue项目管理前后端实现编辑功能,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java为实体类动态添加属性的方法详解

    Java为实体类动态添加属性的方法详解

    这篇文章主要介绍了Java如何给已有实体类动态的添加字段并返回新的实体对象且不影响原来的实体对象结构。文中的方法讲解详细,需要的可以参考一下
    2022-06-06
  • Spring事务管理零基础入门

    Spring事务管理零基础入门

    事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就 回退到事务开始未进行操作的状态。事务管理是Spring框架中最为常用的功能之一,我们在使用Spring Boot开发应用时,大部分情况下也都需要使用事务
    2022-10-10
  • java项目启动异常Command line is too long问题及解决

    java项目启动异常Command line is too long问题及解决

    Java Spring项目启动时报错“Command line is too long”,可以通过修改项目配置或在IDEA的workspace.xml文件中添加相关设置来解决
    2025-12-12
  • Mybatis传递多个参数的三种实现方法

    Mybatis传递多个参数的三种实现方法

    这篇文章主要介绍了Mybatis传递多个参数的三种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • java的Jackson将json字符串转换成泛型List

    java的Jackson将json字符串转换成泛型List

    这篇文章主要介绍了java的Jackson将json字符串转换成泛型List ,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2017-02-02
  • Java实现软件运行时启动信息窗口的方法

    Java实现软件运行时启动信息窗口的方法

    这篇文章主要介绍了Java实现软件运行时启动信息窗口的方法,比较实用的功能,需要的朋友可以参考下
    2014-08-08

最新评论