Java 异常处理(try-catch、throws)

简介: Java 异常处理(try-catch、throws)

一、try...catch...

try {
  可能出现异常的代码
} catch (异常类名 变量名) {
  异常处理代码
}
  • 执行流程
    1、程序从 try 里面的代码开始执行,出现异常,会自动生成一个异常类对象,该异常对象将被提交给 Java 运行时系统
    2、当 Java运行时系统 接收到异常对象时,会到 catch 中去找匹配的异常类,找到后进行异常的处理,执行完毕之后,程序还可以继续往下执行。
  • 案例代码
public class test {
  public static void main(String[] args) {
    System.out.println("开始");
    method(); // 执行会报错的方法
    System.out.println("结束");
  }
  // 会报错的方法
  public static void method() {
    // 由于取不到数组指定下标值,则会报错抛出异常
    try {
      int[] nums = {1, 2, 3};
      System.out.println(nums[4]);
    } catch (Exception e) {
      System.out.println("数组索引不存在!");
    }
  }
}

二、throws

  • 格式
throws 异常类名;
  • 加在方法后面,表示该方法可能会抛出指定类型的异常错误,在外部使用还是得通过 try...catch... 来处理,throws 只是声明可能会抛出异常错误
  • 案例代码
public class test {
  public static void main(String[] args) {
    System.out.println("开始");
    try {
      method(); // 执行会报错的方法
    } catch (Exception e) {
      System.out.println("数组索引不存在!");
    }
    System.out.println("结束");
  }
  // 会报错的方法
  public static void method() throws ArrayIndexOutOfBoundsException {
    // 由于取不到数组指定下标值,则会报错抛出异常
    int[] nums = {1, 2, 3};
    System.out.println(nums[4]);
  }
}
相关文章
|
6天前
|
Java
【JAVA】throw 和 throws 的区别?
【JAVA】throw 和 throws 的区别?
|
2天前
|
Java
JAVA难点包括异常处理、多线程、泛型和反射,以及复杂的分布式系统知识
JAVA难点包括异常处理、多线程、泛型和反射,以及复杂的分布式系统知识。入坑JAVA因它的面向对象特性、平台无关性、强大的标准库和活跃的社区支持。
11 2
|
4天前
|
Java 开发者
Java中的异常处理:从基本概念到最佳实践
【4月更文挑战第30天】 在Java编程中,异常处理是确保程序健壮性和稳定性的关键机制。本文将深入探讨Java异常处理的基本概念,包括异常的分类、异常的抛出与捕获,以及如何有效地使用异常来增强代码的可读性和可维护性。此外,我们还将讨论一些关于异常处理的最佳实践,以帮助开发者避免常见的陷阱和误区。
|
4天前
|
XML Java 测试技术
Java异常处理神器:Guava Throwables类概念与实战
【4月更文挑战第29天】在Java开发中,异常处理是保证程序稳定性和可靠性的关键。Google的Guava库提供了一个强大的工具类Throwables,用于简化和增强异常处理。本篇博客将探讨Throwables类的核心功能及其在实战中的应用。
14 2
|
4天前
|
敏捷开发 机器学习/深度学习 Java
Java中的异常处理机制深入理解与实践:持续集成在软件测试中的应用探索自动化测试在敏捷开发中的关键作用
【4月更文挑战第29天】在Java编程中,异常处理是一个重要的概念。它允许开发者在程序执行过程中遇到错误或异常情况时,能够捕获并处理这些异常,从而保证程序的稳定运行。本文将详细介绍Java中的异常处理机制,包括异常的分类、异常的处理方式以及自定义异常等内容。 【4月更文挑战第29天】 随着敏捷开发和DevOps文化的兴起,持续集成(CI)已成为现代软件开发周期中不可或缺的一环。本文将探讨持续集成在软件测试领域内的关键作用、实施策略以及面临的挑战。通过对自动化构建、测试用例管理、及时反馈等核心要素的详细分析,揭示持续集成如何提高软件质量和加速交付过程。 【4月更文挑战第29天】 在当今快速发
|
4天前
|
安全 Java 网络安全
深入理解Java异常处理网络安全与信息安全:保护数据的关键策略
【4月更文挑战第29天】本文将深入探讨Java中的异常处理机制,包括异常的概念、分类、捕获和处理等方面。通过详细的解析和实例演示,帮助读者更好地理解Java异常处理的原理和应用。 【4月更文挑战第29天】在数字化时代,数据成为最宝贵的资产之一。随着网络攻击的日益猖獗,了解并实施有效的网络安全和信息保护措施变得至关重要。本文将深入探讨网络安全漏洞的概念、加密技术的重要性以及提升个人和企业的安全意识的必要性。我们将分析当前的安全挑战,并提供一系列实用的防护策略,旨在帮助读者构建一个更加安全的数字环境。
|
5天前
|
Java 程序员
Java 异常处理
4月更文挑战第22天
|
9天前
|
Java 数据库连接
深入理解Java异常处理机制
【4月更文挑战第24天】本文将探讨Java中的异常处理机制,包括异常的概念、分类、捕获和抛出等方面。通过深入了解异常处理机制,可以帮助我们编写更加健壮的程序,提高代码的可读性和可维护性。
|
9天前
|
Java 编译器 程序员
【Java基础】细说异常处理
【Java基础】细说异常处理
7 0
|
9天前
|
Java 编译器 开发者
Java从入门到精通:2.1.2深入学习Java核心技术——掌握Java异常处理
Java从入门到精通:2.1.2深入学习Java核心技术——掌握Java异常处理