【Java基础】打卡学习Java异常处理(案例详解)

简介: 打卡学习Java异常处理!
【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!

博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!

吾等采石之人,应怀大教堂之心,愿大家奔赴在各自的热爱里…

一、基础学习

本篇分享的Java基础:异常处理
在这里插入图片描述
来来来,直接看看我写的相关案例

/**
 * @program: ExceptionDemo
 * @description: 异常相关知识点
 * @author: 辰兮要努力
 * @create: 2021-10-2 16:37:27
 */
public class ExceptionDemo {
    public static void main(String[] args){
        try {
            handle();
        }catch(Exception e) {
            System.out.println("捕获程序在运行过程中产生的异常");
        }

        try {
            handle();
        }catch(ArithmeticException e) {
            System.out.println("捕获程序在运行过程中产生的异常");
        }

        System.out.println("验证如果不捕获异常能否执行后续的程序");
        handle();
        System.out.println("hello 我无法输出");
    }
    public static void handle(){
        int a = 5/0;  //异常抛出点
        /**
         * 此处下面的代码不会执行,原因:上面代码抛出异常未在方法中捕捉,程序中断
         */
        System.out.println("hello world");
    }
}

如上案例的输出结果,建议初学者自行实践

捕获程序在运行过程中产生的异常
捕获程序在运行过程中产生的异常
验证如果不捕获异常能否执行后续的程序
Exception in thread "main" java.lang.ArithmeticException: / by zero
    at com.exception.ExceptionDemo.handle(ExceptionDemo.java:32)
    at com.exception.ExceptionDemo.main(ExceptionDemo.java:28)

思考问题

1、 System.out.println("hello world");此段代码是否会执行?

解答1:System.out.println("hello world")此段代码不能被执行,因为执行到 int a = 5/0; 的时候程序抛出了异常,且被捕获,此段代码被跳过


2、如果捕获的异常不匹配实际的异常,程序是否能正常执行?

比如这里切换成NullPointerException后续的程序是否能正常进行

   try {
            handle();
        }catch(NullPointerException e) {
            System.out.println("捕获程序在运行过程中产生的异常");
        }

直接看结果吧
在这里插入图片描述
解答2:此处编译不会报错,此处捕获的异常不匹配,后续的程序无法正常执行下去


二、进阶学习

Throwable 是 Java 语言中所有错误与异常的超类。

Throwable 包含两个子类:Error(错误)和 Exception(异常),它们通常用于指示发生了异常情况。

Throwable 包含了其线程创建时线程执行堆栈的快照,它提供了 printStackTrace() 等接口用于获取堆栈跟踪数据等信息

在这里插入图片描述

Error 和 Exception 区别是什么?

请添加图片描述
Error 类型的错误通常为虚拟机相关错误,如系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,JAVA 应用程序也不应对这类错误进行捕获,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复;

Exception 类的错误是可以在应用程序中进行捕获并处理的,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行


说一说Java中的受检异常(checked exception)和非受检异常(unchecked exception)?

请添加图片描述
Java 的所有异常可以分为受检异常(checked exception)和非受检异常(unchecked exception)。

受检异常:

  • 范围:除 RuntimeException 及其子类外,其他的 Exception异常都属于受检异常。
  • 编译器会检查此类异常,也就是说当编译器检查到应用中的某处可能会此类异常时,将会提示你处理本异常——要么使用try-catch捕获,要么使用方法签名中用throws 关键字抛出,否则编译不通过。(编译器要求必须处理的异常。)

非受检异常:

  • 范围:该类异常包括运行时异常(RuntimeException极其子类)和错误(Error)。
  • 编译器不会进行检查并且不要求必须处理的异常,也就说当程序中出现此类异常时,即使我们没有try-catch捕获它,也没有使用throws抛出该异常,编译也会正常通过

hello,你好 我是辰兮,后续我会继续整理一下Java基础的相关案例,欢迎学习、分享、交流、打卡!

非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!

愿你们奔赴在自己的热爱里!

目录
相关文章
|
5天前
|
前端开发 Java 编译器
【前端学java】java基础练习缺少项目?看这篇文章就够了!(完结)
【8月更文挑战第11天】java基础练习缺少项目?看这篇文章就够了!(完结)
14 0
|
1天前
|
人工智能 Java 定位技术
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
这篇文章通过一个使用ChatGPT实现的Java扫雷小游戏案例,展示了ChatGPT在编程领域的应用能力。文章中包含了扫雷游戏的Java代码实现,代码中初始化了雷区地图,随机放置雷,计算每个格子周围雷的数量,并提供了一个简单的文本界面与用户交互进行游戏。游戏通过控制台输入接受玩家的指令,并给出相应的反馈。
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
|
4天前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
12 2
【前端学java】如何从前端视角快速学习Maven
|
5天前
|
前端开发 Java 程序员
【前端学java】Java中的异常处理(16)
【8月更文挑战第11天】Java中的异常处理
10 1
【前端学java】Java中的异常处理(16)
|
6天前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
11 1
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
|
1天前
|
Java 程序员
Java中的异常处理:理解与实践
在Java编程的世界中,异常处理是保持程序稳健运行的关键。本文将通过浅显易懂的语言和生动的比喻,带你了解Java的异常处理机制,从基础概念到高级应用,一步步深入探讨。我们将一起学习如何优雅地处理那些不请自来的错误信息,确保你的代码像经验丰富的舞者一样,即使在遇到绊脚石时也能从容不迫地继续前行。
|
1天前
|
设计模式 Java
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
文章提供了一份常用设计模式的全面介绍,包括创建型模式、结构型模式和行为型模式。每种设计模式都有详细的概念讲解、案例说明、代码实例以及运行截图。作者通过这些模式的介绍,旨在帮助读者更好地理解源码、编写更优雅的代码,并进行系统重构。同时,文章还提供了GitHub上的源码地址,方便读者直接访问和学习。
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
|
4天前
|
Java
Java中的异常处理:不仅仅是try-catch
在Java的世界里,异常处理是代码健壮性的守护神。它不仅仅是try-catch的简单运用,而是一种深入语言核心的设计哲学。本文将带你领略异常处理的艺术,从基础语法到高级技巧,让你的代码在风雨中屹立不倒。
|
4天前
|
Java 程序员 开发者
掌握Java异常处理:从新手到专家
在Java的世界中,异常是程序运行中不可忽视的挑战。本文以浅显易懂的语言,引导你认识Java中的异常处理机制,从基础的try-catch语句到深入的自定义异常和最佳实践,让你在遇到运行时错误时能够从容不迫,优雅地处理每一个可能的异常情况。让我们一起走进Java异常的世界,学习如何驯服这些“野性”的错误,让程序更加健壮和可靠。
|
5天前
|
Java 程序员 UED
Java中的异常处理:从基础到高级
在Java编程中,异常处理是一个不可或缺的部分,它帮助程序在遇到错误时优雅地恢复或终止。本文通过简明的语言和生动的例子,带你了解Java的异常体系结构,掌握try-catch-finally块的使用,并深入理解自定义异常和异常链的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和技巧。