Java 教程
Java 方法
Java 类
Java 文件处理
Java 数据结构
Java 案例
Java 参考手册
Java 关键字
Java String 方法
Java Math 方法
Java Output 方法
Java Arrays 类
Java ArrayList 方法
Java LinkedList 方法
Java HashMap 方法
Java Scanner 方法
Java 迭代器接口
Java 错误和异常类型
Java.io 包教程
Java.lang 包教程
Java.math 包教程
java.time 包教程
Java.util 包教程
Java 正则表达式教程
java.util.zip 包教程
Java 异常在执行 Java 代码时,可能会发生各种错误:程序员的编码错误、错误输入导致的异常或其他不可预见的情况。当发生错误时,Java 通常会停止并生成错
在执行 Java 代码时,可能会发生各种错误:程序员的编码错误、错误输入导致的异常或其他不可预见的情况。
当发生错误时,Java 通常会停止并生成错误消息。用技术术语讲就是:Java 将抛出异常(抛出错误)。
try 语句允许您定义要在执行时测试错误的代码块。
如果 try 块中发生错误,catch 语句允许您定义要执行的代码块。
try 和 catch 关键字成对出现:
请思考以下例子:
将产生错误,因为 myNumbers[10] 不存在。
public class Main {
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 Main.main(Main.java:4)
点击 "运行实例" 按钮查看在线实例
如果发生错误,我们可以使用 try...catch 来捕获错误并执行代码来处理它:
public class Main {
public static void main(String[ ] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("出错了。");
}
}
}
点击 "运行实例" 按钮查看在线实例
输出将是:
finally 语句让你在 try...catch 之后执行代码,不管结果如何:
public class Main {
public static void main(String[] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("出错了。");
} finally {
System.out.println("'try catch' 已结束。");
}
}
}
点击 "运行实例" 按钮查看在线实例
输出将是:
throw 语句允许您创建自定义错误。
throw 语句可与异常类型一同使用。Java 中有许多可用的异常类型:
ArithmeticExceptionFileNotFoundExceptionArrayIndexOutOfBoundsExceptionSecurityException如果年龄低于 18 岁,则抛出异常(打印 "拒绝访问")。如果年龄为 18 岁或以上,则打印 "允许访问":
public class Main {
static void checkAge(int age) {
if (age < 18) {
throw new ArithmeticException("拒绝访问 - 您需要至少满 18 岁。");
}
else {
System.out.println("允许访问 - 您的年纪够大!");
}
}
public static void main(String[] args) {
checkAge(15); // 将年龄设置为 15(低于 18 ...)
}
}
点击 "运行实例" 按钮查看在线实例
输出将是:
Exception in thread "main" java.lang.ArithmeticException: 拒绝访问 - 您需要至少满 18 岁。
at Main.checkAge(Main.java:4)
at Main.main(Main.java:12)
点击 "运行实例" 按钮查看在线实例
如果年龄是 20 岁,则不会出现异常:
输出将是: