Java入门之异常处理

简介: 异常处理如何处理异常1. try-catch-finally2. throw3. throws4. 自定义异常5. 异常链根类:Throwable两个子类:Error、Exceptionimage.png上图中非检查异常,表示的是编译器不要求强制处理的异常,包括:image.png检查异常:在程序编码阶段就被要求必须进行异常处理,否则编译无法通过。

异常处理

  • 如何处理异常
1. try-catch-finally
2. throw
3. throws
4. 自定义异常
5. 异常链

根类:Throwable
两个子类:Error、Exception

img_854cf36fdb3dc9bd16009a5254aef468.png
image.png

上图中非检查异常,表示的是编译器不要求强制处理的异常,包括:


img_7a2fb77a400b163b6765c4c0d0b54de0.png
image.png

检查异常:在程序编码阶段就被要求必须进行异常处理,否则编译无法通过。


img_e0f9322be42aaca1d2575cc710220bef.png
image.png

Java中异常通过五个关键字来实现:

  • try
  • catch
  • finally
  • throw
  • throws


    img_f2985d4f31f9c24ca08fbd9e61189a1f.png
    image.png

try-catch-finally

public class TryDemo {
    public static void main(String[] args){
        int a = 10;
        int b = 0;
        try {
            int c = a/b;
        }catch (ArithmeticException e){
            System.out.println("出错了");
        }finally {
            System.out.println("一定会执行");
        }
    }
}

使用多重catch结构处理异常

public class TryDemo {
    public static void main(String[] args){
        int a = 10;
        int b = 0;
        try {
            int c = a/b;
        }catch (ArithmeticException e){
            System.out.println("出错了");
        }catch (Exception e){
            System.out.println("33333");
        }
        finally {
            System.out.println("一定会执行");
        }
    }
}

Exception 父类异要放在最后一个catch块中。

注意:如果在finally块中和catch块中都有return语句,最终只会执行finally中的return,不会执行catch块中的return。在代码编写中不建议把return放到finally块中。

使用throws声明异常类型

public class TryDemo {
    public static void main(String[] args){
        try {
            int result = test();
        }catch (ArithmeticException e){
            System.out.println(e);
        }catch (InputMismatchException e){
            System.out.println(e);
        }
    }
    
    public static int test() throws ArithmeticException, InputMismatchException{
        System.out.println("d");
    }
}

使用throw抛出异常对象

throw抛出的只能是可抛出类Throwable或者其子类的实例对象。

当方法当中包含throw抛出对象的语句时,常规的处理方法有两种:

方法一:

public void method(){
    try{
        throw new 异常类型();
   }catch(异常类型 e){
   //处理异常
  }
}

方法二:谁调用了当前的方法谁就来处理异常

public void method() throws 异常类型{
     throw new 异常类型();
}

自定义异常类

使用Java内置的异常类可以描述在编程时出现的大部分异常情况。
也可以通过自定义异常描述特定业务产生的异常类型。

  • 所谓自定义异常,就是定义一个类去继承Throwable类或它的子类。

异常链

有时候我们在捕获一个异常后再抛出另一个异常。

异常链:将异常发生的原因一个传一个串起来,即把底层的异常信息传给上层 ,这样逐层抛出。

目录
相关文章
|
17小时前
|
安全 Java 网络安全
Java中的异常处理:理解、实践与最佳实践云端防御线:云计算环境下的网络安全与信息保护
【5月更文挑战第28天】 在编程中,异常是无法避免的一部分,特别是在Java这种静态类型语言中。本文将深入探讨Java中的异常处理机制,包括如何理解异常,如何在代码中实现异常处理,以及一些关于异常处理的最佳实践。我们将通过实例和代码片段来阐述这些概念,以帮助读者更好地理解和应用Java的异常处理。 【5月更文挑战第28天】 随着企业数字化转型的深入,云计算服务已成为支撑现代业务的关键基础设施。然而,云服务的广泛采用也带来了前所未有的安全挑战。本文深入探讨了在云计算环境中维护网络安全和信息保护的策略和技术,分析了云服务模型对安全措施的影响,并提出了综合的安全框架以应对不断演变的威胁。通过采用加
|
1天前
|
Java 程序员 数据库连接
|
1天前
|
Java 测试技术 持续交付
Java中的异常处理机制探索自动化测试在微服务架构中的实践与挑战
【5月更文挑战第27天】本文将深入探讨Java中的异常处理机制,包括异常的概念、分类以及如何使用try-catch-finally语句进行异常处理。文章还将介绍自定义异常的方法以及在实际开发中如何选择合适的异常处理策略。 【5月更文挑战第27天】 随着软件开发领域向微服务架构的转型,传统的软件测试方法面临诸多挑战。本文旨在探讨自动化测试在微服务环境下的应用实践及所面临的问题。我们将从微服务的特性出发,分析自动化测试的必要性,并深入讨论如何构建一个高效、鲁棒的自动化测试框架。文章还将介绍一系列创新的测试策略和工具选择,以及如何克服微服务带来的分布式复杂性。最后,通过案例研究,展示自动化测试在实
|
1天前
|
机器学习/深度学习 Java 程序员
Java中的异常处理机制及其应用深度学习在图像识别中的应用与挑战
【5月更文挑战第27天】本文将深入探讨Java中的异常处理机制,包括异常的概念、分类以及如何在代码中进行有效的异常处理。通过对try-catch-finally语句的分析,我们将了解如何在Java程序中捕获和处理异常,以及如何自定义异常类以满足特定需求。此外,我们还将讨论异常处理在软件开发过程中的重要性,以及如何在实际项目中运用异常处理机制提高代码的健壮性和可维护性。
|
1天前
|
Java 编译器
<JAVA> java入门面向0基础教程(数据类型,运算符)
<JAVA> java入门面向0基础教程(数据类型,运算符)
8 1
<JAVA> java入门面向0基础教程(数据类型,运算符)
|
1天前
|
存储 安全 Java
Java中的异常处理:从基础到高级网络安全与信息安全:防范漏洞与强化意识
【5月更文挑战第27天】本文主要探讨了Java中的异常处理机制,从基础的try-catch-finally结构,到高级的自定义异常和异常链。我们将深入理解异常的概念,学习如何有效地处理异常,以及如何使用异常来提高代码的可读性和可维护性。 【5月更文挑战第27天】随着信息技术的迅猛发展,网络已成为社会运行的重要基础。然而,伴随而来的网络安全威胁也日益增多,尤其是安全漏洞的出现和利用,严重威胁着个人、企业乃至国家的信息资产安全。本文旨在分享关于网络安全漏洞的识别与防护方法、加密技术的应用以及提升个人和企业的安全意识等方面的关键知识,以帮助读者构建更为坚固的网络安全防线。
|
1天前
|
Java 编译器
Java异常处理机制
Java异常处理机制
10 1
|
2天前
|
Oracle Java 程序员
java基础篇-java入门认知
# Day01 —— Java基础入门概览 本文介绍了Java语言的背景知识、快速入门、开发工具以及基础语法。Java由Sun公司(现属Oracle)开发,创始人是詹姆斯·高斯林。Java可应用于桌面应用、企业级应用、移动应用、服务器系统和大数据开发等多个领域。Java技术体系包括Java SE(标准版)、Java EE(企业版)和Java ME(小型版)。 在开始编程前,需安装JDK,通过`javac`和`java`命令进行编译和运行。Java程序的执行依赖于Java虚拟机(JVM),实现跨平台运行。IDEA是常用的Java集成开发环境,提供代码提示、错误检查等功能,提高开发效率。
|
3天前
|
Java 编译器 API
Java中的异常处理:理解、实践与最佳实践
【5月更文挑战第25天】在编程中,错误和异常是难以避免的。对于Java来说,其异常处理机制提供了一种强大而灵活的方式来处理程序运行时的错误。本文将深入探讨Java的异常处理机制,包括如何理解异常,如何使用try-catch-finally语句进行异常处理,以及如何创建自定义异常。最后,我们还将讨论一些关于Java异常处理的最佳实践。
|
3天前
|
Java 数据库连接 开发者
Java中的异常处理:理论与实践
本文深入探讨了Java编程语言中的异常处理机制。首先,我们将解释什么是异常,以及为什么我们需要处理它们。然后,我们将详细介绍Java的异常处理机制,包括try-catch语句和finally语句的使用。最后,我们将通过实例来演示如何在Java程序中有效地处理异常。无论你是Java初学者还是有经验的开发者,这篇文章都将帮助你更好地理解和使用Java的异常处理。