Java 异常处理机制是 Java 编程语言的一部分,可以用来处理可能在程序执行期间发生的错误或特殊情况。该机制利用两个机制来实现异常处理:抛出异常和捕获异常。在代码块中,如果发生了异常,它将会被抛出,然后在某个程序块中被捕获并处理。下面我们将通过两条示例详细讲解 Java 异常处理机制和代码实现。
1. 抛出异常
Java 中的异常通常是以 throw 语句抛出的。可以使用以下代码块来创建一个自定义异常并抛出:
//创建自定义异常类
class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
//使用 throw 语句抛出异常
class ThrowDemo {
static void demoProc() throws MyException {
throw new MyException("这是一个自定义异常");
}
public static void main(String[] args) {
try {
demoProc();
} catch(MyException e) {
System.out.println("捕获到自定义异常: " + e.getMessage());
}
}
}
在上述示例中,抛出自定义异常 MyException。使用 throw 语句在 demoProc() 方法中抛出异常,该方法被调用并在 try-catch 块中捕获。输出如下:
捕获到自定义异常: 这是一个自定义异常
2. 捕获异常
使用 try-catch 语句捕获异常是 Java 开发中一个常用的技术。以下代码块演示了如何使用 try-catch 语句来捕获异常:
class CatchDemo {
public static void main(String[] args) {
try {
int a = 0;
int b = 10 / a;
System.out.println("结果是: " + b);
} catch (ArithmeticException e) {
System.out.println("发生算术异常: " + e);
}
}
}
在上述示例中,捕获了一个 ArithmeticException 异常。这个异常是在一个 divide-by-zero 操作中抛出的,通过捕获 ArithmeticException,我们可以防止程序崩溃并能够反馈错误。输出如下:
发生算术异常: java.lang.ArithmeticException: / by zero
3. 断言
Java 中的断言机制通过断言语句在代码块中检查条件是否为 true 来检查程序的执行是否符合预期。通过反复验证断言语句,可以在编写程序时防止出现逻辑错误。以下代码块演示了如何使用断言在程序中进行条件检查:
class AssertionDemo {
public static void main(String[] args) {
int num = 10;
assert num == 20 : "num 的值为 " + num;
System.out.println("程序正常执行");
}
}
在上述示例中,如果我们运行代码,它将会抛出一个 AssertionError,因为 num 不等于 20。输出如下:
Exception in thread "main" java.lang.AssertionError: num 的值为 10
at AssertionDemo.main(AssertionDemo.java:4)
以上就是 Java 异常处理机制的完整攻略,其中包括抛出异常、捕获异常和断言的使用。通过这些机制,我们可以在 Java 开发中更好地处理异常和检查程序的正确性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java异常处理机制示例(java抛出异常、捕获、断言) - Python技术站