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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用JAVA实现邮件发送功能的图文教程

    使用JAVA实现邮件发送功能的图文教程

    邮件发送其实是一个非常常见的需求,用户注册,找回密码等地方,都会用到,下面这篇文章主要给大家介绍了关于使用JAVA实现邮件发送功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • idea指定maven的settings文件不生效的问题解决

    idea指定maven的settings文件不生效的问题解决

    本文主要介绍了idea指定maven的settings文件不生效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 基于JavaMail API收发邮件的方法

    基于JavaMail API收发邮件的方法

    这篇文章主要介绍了基于JavaMail API收发邮件的方法,实例分析了javamail的使用方法与相关注意事项,非常具有实用价值,需要的朋友可以参考下
    2015-07-07
  • 一文带你看懂Java8中的lambda表达式和方法引用

    一文带你看懂Java8中的lambda表达式和方法引用

    Lambda 表达式是 Java 8 引入的一项重要特性,它提供了一种简洁、清晰且灵活的语法来表示可传递的匿名函数,下面就跟随小编一起学习一下Java8中的lambda表达式和方法引用的相关知识吧
    2023-12-12
  • Spring中的策略模式简单实现与使用分析

    Spring中的策略模式简单实现与使用分析

    这篇文章主要介绍了Spring中的策略模式简单实现与使用分析,去初始化时除了 initMultipartResolver(上传文件)没有获取 Properties defaultStrategies;默认策略,其他的八大件都会使用到策略模式,需要的朋友可以参考下
    2024-01-01
  • SSH框架网上商城项目第29战之使用JsChart技术显示商品销售报表

    SSH框架网上商城项目第29战之使用JsChart技术显示商品销售报表

    这篇文章主要为大家详细介绍了SSH框架网上商城项目第29战之使用JsChart技术显示商品销售报表,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 深入理解Spring中的循环依赖

    深入理解Spring中的循环依赖

    Spring在注入bean的时候会做循环依赖检查,下面这篇文章主要给大家介绍了关于Spring中循环依赖的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-05-05
  • Java实现SSH模式加密

    Java实现SSH模式加密

    这篇文章主要介绍了Java实现SSH模式加密的相关资料,需要的朋友可以参考下
    2016-01-01
  • 教你使用springboot配置多数据源

    教你使用springboot配置多数据源

    发现有很多小伙伴还不会用springboot配置多数据源,今天特地给大家整理了本篇文章,文中有非常详细的图文介绍及代码示例,对正在学习java的小伙伴很有帮助,需要的朋友可以参考下
    2021-05-05
  • 使用JVM常用GC日志打印参数

    使用JVM常用GC日志打印参数

    这篇文章主要介绍了使用JVM常用GC日志打印参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论