手册

目录

Java.io 包教程

Java 异常 - Try...Catch

收藏920

阅读808

更新时间2025-07-22

前言:

在本教程中,您将学习如何使用Java异常-Try...CatchJava异常在执行Java代码时,可能会出现不同的错误:程序员编写的编码错误、错误输入导致的错误或其他无法预料的事情。发生错误时,Java通常会停止并生成错误消息。对此的技术术语是:Java将抛出异常(抛出错误)。

Java 异常

在执行 Java 代码时,可能会出现不同的错误:程序员编写的编码错误、错误输入导致的错误或其他无法预料的事情。

发生错误时,Java 通常会停止并生成错误消息。对此的技术术语是:Java 将抛出异常(抛出错误)。


Java try 和 catch

try 语句允许您定义一个代码块,以便在执行时对其进行错误测试。

如果 try 块中发生错误, catch 语句允许您定义要执行的代码块。

trycatch 关键字成对出现:

语法

try {
  //  要尝试的代码块
}
catch(Exception e) {
  //  处理错误的代码块
}

考虑以下示例:

这将产生错误,因为 myNumbers[10] 不存在。

public class MyClass {
  public static void main(String[ ] args) {
    int[] myNumbers = {1, 2, 3};
    System.out.println(myNumbers[10]); // error!
  }
}

输出将是这样的:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
        at MyClass.main(MyClass.java:4)
运行实例 »

点击 "运行实例" 按钮查看在线实例

如果发生错误,我们可以使用 try...catch 来捕获错误并执行一些代码来处理它:

实例

public class MyClass {
  public static void main(String[ ] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
      System.out.println("Something went wrong.");
    }
  }
}

输出将是:

Something went wrong.
运行实例 »

点击 "运行实例" 按钮查看在线实例


Finally

finally 语句允许您在 try...catch 之后执行代码,而不管结果如何:

实例

public class MyClass {
  public static void main(String[] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
      System.out.println("Something went wrong.");
    } finally {
      System.out.println("The 'try catch' is finished.");
    }
  }
}

输出将是:

Something went wrong.
The 'try catch' is finished.
运行实例 »

点击 "运行实例" 按钮查看在线实例



throw 关键字

throw 语句允许您创建自定义错误。

throw 语句与异常类型一起使用。 Java 中有许多异常类型可用: ArithmeticException, FileNotFoundException, ArrayIndexOutOfBoundsException, SecurityException, etc:

实例

如果年龄低于 18 岁,则抛出异常(打印"访问被拒绝")。如果年龄为 18 岁或以上,请打印"访问权限":

public class MyClass {
  static void checkAge(int age) {
    if (age < 18) {
      throw new ArithmeticException("Access denied - You must be at least 18 years old.");
    }
    else {
      System.out.println("Access granted - You are old enough!");
    }
  }

  public static void main(String[] args) {
    checkAge(15); // 将年龄设置为 15 岁(低于 18 岁......)
  }
}

输出将是:

Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
        at MyClass.checkAge(MyClass.java:4)
        at MyClass.main(MyClass.java:12)
运行实例 »

点击 "运行实例" 按钮查看在线实例

如果年龄为 20 岁,则不会出现异常:

实例

checkAge(20);

输出将是:

Access granted - You are old enough!
运行实例 »

点击 "运行实例" 按钮查看在线实例



科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号