Java 异常 (Try...Catch) 语句

您所在的位置:网站首页 oc异常处理 Java 异常 (Try...Catch) 语句

Java 异常 (Try...Catch) 语句

2024-04-29 00:46| 来源: 网络整理| 查看: 265

❮ 上一节 下一节 ❯ Java 异常 - Try...Catch Java 异常

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

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

Java try 和 catch

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

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

try 和 catch 关键字成对出现:

语法 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! 运行实例 » ❮ 上一节 下一节 ❯


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3