大数据基础之java异常处理精讲

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 大数据基础之java异常处理

1. 概述

观察如下的代码, 看有无问题:

@Test
public void exception_demo(){
    int a = 10;
    int b = 0;
    System.out.println(a/b);
}

运行结果:
在这里插入图片描述

我们发现, 上述代码的第3行会报错, 即: 算术运算异常, 因为除数是不能为零的. 而在我们编写程序的时候, 可能会有很多的问题存在, 为了将来方便的表示这些问题的原因, 类型, 位置, Java就提供了异常对象供我们使用. 即: Java中的异常指的是程序出现==不正常==的情况.

2. JVM的默认处理异常的方式

如果出现了问题, 我们自己没有处理, JVM会采用自动的处理方法, 它会把异常的类型, 原因, 位置直接打印到控制台上, 后边的代码是不能执行的.

3. 自己处理异常

3.1 抛出异常:throws

抛出 由更高级的调用者完成异常处理

写一段代码演示异常
在这里插入图片描述
==parse==有一道红线,且鼠标放上去有提示说你要==添加异常==在你的方法上。
此刻我们点击后面的more actions
在这里插入图片描述
选择第一个,代码变为

@Test
public void doThrowException() throws ParseException {
   SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
   Date d1 = sdf.parse("2022-12-1");
}

在方法后面加上了 ==throws ParseException==
这就是抛出了异常,由方法调用者再去处理这个异常。

3.2 捕获异常:try...catch...finally

try{
尝试执行的代码

}catch{

出现异常后处理异常的代码

}finally{

处理完成后,无论是否有异常都要执行的代码

}

同一段代码,还是鼠标放在红线单词上方,点击more actions,选择第三项,Surround with try/catch
在这里插入图片描述
这样出来的效果是只有try...catch..

    @Test
    public void doThrowException() {
        SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
        try {
            Date d1 = sdf.parse("2022-12-1");
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

代码不会报错

try...catch...finally的快捷键

Ctrl+Alt+t

在这里插入图片描述

这个界面我们可以清楚的看到有 6.try catch 8.就是try catch finally

4. 思考题

finally里边的代码真的永远会执行吗?

出现非运行时异常时不可能执行finally
如果手动结束,也不会执行finally中的指令
运行时异常出现,或者不出现异常时,都会执行finally
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
10天前
|
Java 开发者
Java中的异常处理:理解与实践
【8月更文挑战第10天】在Java的世界中,异常是程序运行时可能遇到的非预期事件,它们中断了正常的指令流程。本篇文章旨在深入探讨Java的异常处理机制,从异常的基本概念出发,逐步引导读者理解异常的分类、捕获和处理,以及如何有效地设计异常策略,提升代码的健壮性和可维护性。通过本文的学习,你将能够更加自信地面对Java编程中的异常挑战。
|
7天前
|
安全 Java 数据库连接
Java中的异常处理机制及其最佳实践
【8月更文挑战第12天】在Java的世界里,异常处理是维护程序健壮性的关键环节之一。它不仅涉及到错误检测,还关乎如何优雅地恢复或报告错误。本文将深入探讨Java的异常处理机制,包括异常类型、捕获异常的策略以及异常的最佳处理实践。我们将一起学习如何通过有效的异常管理来提升代码质量和用户体验。
|
7天前
|
Java 数据库连接 开发者
Java中的异常处理机制深度解析
【8月更文挑战第13天】本文旨在深入探讨Java编程语言中一个至关重要的组成部分——异常处理机制。我们将从基本概念入手,逐步展开讨论异常处理在Java语言设计中的角色和重要性,以及如何正确利用这一机制来提高代码的健壮性和可维护性。文章将通过分析异常处理的最佳实践,揭示如何在复杂的应用程序中有效地管理和处理错误情况。
|
5天前
|
前端开发 Java 程序员
【前端学java】Java中的异常处理(16)
【8月更文挑战第11天】Java中的异常处理
10 1
【前端学java】Java中的异常处理(16)
|
1天前
|
Java 程序员
Java中的异常处理:理解与实践
在Java编程的世界中,异常处理是保持程序稳健运行的关键。本文将通过浅显易懂的语言和生动的比喻,带你了解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块的使用,并深入理解自定义异常和异常链的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
6天前
|
Java 程序员 编译器
深入浅出Java异常处理机制
在Java编程的世界中,异常处理就像是我们生活中的急救包,它帮助我们处理程序运行时出现的意外情况。本文将带你了解Java异常处理的基础知识,探索异常类型,学习如何捕获和处理它们,并讨论最佳实践。让我们一起走进Java异常处理的世界,学会如何使用这个强大的工具来保护我们的程序。
|
7天前
|
安全 Java 程序员
Java中的异常处理机制:从基础到高级
【8月更文挑战第13天】在Java编程中,异常处理是一个不可或缺的部分。本文将深入探讨Java的异常处理机制,从基本概念出发,逐步解析try-catch-finally语句块的使用,探讨自定义异常类的设计,以及介绍高级异常处理技术如try-with-resources和异常链。通过这些内容的学习,读者将能够更加有效地管理和控制程序运行时的错误。