文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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;


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;

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯