Java深入讲解异常处理try catch的使用

 更新时间:2022年06月08日 08:35:14   作者:Demo龙  
这篇文章主要介绍了Java异常处理机制try catch流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.try-catch异常处理说明

Java提供try和catch块来处理异常,try块用于包含可能出错的代码。catch块用于处理try块中发出的异常。可以根据需要在程序中有一个或多个try-catch块

基本语法

try{
	//可疑代码
	//将一场生成对应的异常对象,传递给catch块
}catch{
	//对异常的处理
}

2.try-catch异常处理细节

1.如果异常发生了,则异常后面的代码不会执行,直接进入到catch块

2.如果异常没有发生,则顺序执行try的代码块,不会进入到catch。

3.如果希望不管是否发生异常,都执行某段代码,则使用如下代码-finally{}

示例01

package com.demo.trycatch;

/**
 * @version 1.0
 * @auther Demo龙
 */
public class TrycatchDetial {
    public static void main(String[] args) {
        //1.如果异常发生了,则异常后面的代码不会执行,直接进入到catch块
        //ctrl+alt+t
        try {
            String ch="kkk";
            int a=Integer.parseInt(ch);
            System.out.println("number"+a);
        } catch (NumberFormatException e) {
            System.out.println("异常信息:"+e.getMessage());
        }
        System.out.println("程序继续运行");
        // > 2.如果异常没有发生,则顺序执行try的代码块,不会进入到catch。
        try {
            String ch="556";
            int a=Integer.parseInt(ch);
            System.out.println("number="+a);
        } catch (NumberFormatException e) {
            System.out.println("异常信息:"+e.getMessage());
        }
        System.out.println("程序继续运行02");
        //> 3.如果希望不管是否发生异常,都执行某段代码,则使用如下代码-finally{}
        try {
            String ch="Demo龙";
            int a=Integer.parseInt(ch);
            System.out.println("number="+a);
        } catch (NumberFormatException e) {
            System.out.println("异常信息:"+e.getMessage());
        } finally {
            System.out.println("finally被执行");
        }
    }
}

测试结果01

4.可以有多个catch语句,捕获不同的异常(进行不同的业务处理),要求父类异常在后,子类异常在前,如果发生异常,只会匹配一个catch。

5.try-finally配合使用,这种用法相当于没有捕获异常,程序会直接退出,但会执行finally业务逻辑

示例02

package com.demo.trycatch;
/**
 * @version 1.0
 * @auther Demo龙
 */
public class TrycatchDetial02 {
    //4.可以有多个catch语句,捕获不同的异常(进行不同的业务处理),
    // 要求父类异常在后,子类异常在前,如果发生异常,只会匹配一个catch。
    public static void main(String[] args) {
        try {
            Person person = new Person();
            person=null;
            System.out.println("name="+person.getName());//空指针异常
            int n1=9;
            int n2=0;
            int num=n1/n2;//数学异常
            //1.try代码块可能有多个异常
            //2.可以使用多个catch分别捕获不同的异常,相应处理
            //3.要求子类异常写在前面,父类异常写在后面
        }catch (NullPointerException e){
            System.out.println("空指针异常:"+e.getMessage());
        } catch (ArithmeticException c){
            System.out.println("算数异常:"+c.getMessage());
        } catch (Exception e) {
            System.out.println("异常情况:"+e.getMessage());
        } finally {
            System.out.println("finally代码块被执行");
        }
        System.out.println("程序继续运行。");
        //5.try-finally配合使用,这种用法相当于没有捕获异常,
        // 程序会直接退出,但会执行finally业务逻辑
        System.out.println("try-finally细节测试");
        try {
            int m1=9;
            int m2=3;
            System.out.println("m1/m2="+m1/m2);
        } finally {
            System.out.println("执行finally代码块02");
        }
        try {
            int m1=9;
            int m2=0;
            System.out.println("m1/m2="+m1/m2);
        } finally {
            System.out.println("执行finally代码块01");
        }
    }
}
class Person{
    private String name="demo龙";

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

测试结果02

到此这篇关于Java深入讲解异常处理try catch的使用的文章就介绍到这了,更多相关Java try catch内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中volatile关键字的作用与用法详解

    Java中volatile关键字的作用与用法详解

    volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。这篇文章主要介绍了Java中volatile关键字的作用与用法详解的相关资料,需要的朋友可以参考下
    2016-09-09
  • Springboot+SpringSecurity实现图片验证码登录的示例

    Springboot+SpringSecurity实现图片验证码登录的示例

    本文主要介绍了Springboot+SpringSecurity实现图片验证码登录的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 基于IDEA中格式化代码的快捷键分享

    基于IDEA中格式化代码的快捷键分享

    这篇文章主要介绍了基于IDEA中格式化代码的快捷键分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • java播放声音类和一个简单示例

    java播放声音类和一个简单示例

    这篇文章主要介绍了一个java播放声音类和一个java播放声音的应用程序,应用程序可以单次播放声音、循环播放声音,需要的朋友可以参考下
    2014-03-03
  • 详解SpringBoot应用服务启动与安全终止

    详解SpringBoot应用服务启动与安全终止

    这篇文章主要介绍了SpringBoot应用服务启动与安全终止,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 浅谈java获取UUID与UUID的校验

    浅谈java获取UUID与UUID的校验

    这篇文章主要介绍了java获取UUID与UUID的校验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java中BigInteger用法小结

    Java中BigInteger用法小结

    这篇文章主要介绍了Java中BigInteger用法的详解,在这里,我们详细描述下BigInteger的用法,在使用之前,我们需要导入java.math.*包,本文通过实例代码相结合给大家详细讲解,需要的朋友可以参考下
    2023-03-03
  • RestTemplate发送HTTP POST请求使用方法详解

    RestTemplate发送HTTP POST请求使用方法详解

    这篇文章主要为大家介绍了RestTemplate发送HTTP POST请求的使用方法详解,有需要的朋友可以借鉴参考下希望能够有所帮助,祝大家多多进步
    2022-03-03
  • SpringCloudAlibaba整合Feign实现远程HTTP调用的简单示例

    SpringCloudAlibaba整合Feign实现远程HTTP调用的简单示例

    这篇文章主要介绍了SpringCloudAlibaba 整合 Feign 实现远程 HTTP 调用,文章中使用的是OpenFeign,是Spring社区开发的组件,需要的朋友可以参考下
    2021-09-09
  • javaweb用户注销后点击浏览器返回刷新页面重复登录问题的解决方法

    javaweb用户注销后点击浏览器返回刷新页面重复登录问题的解决方法

    这篇文章主要为大家详细介绍了javaweb用户注销后点击浏览器返回刷新页面重复登录问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09

最新评论