JavaSE教程
Java基础
Java简介
搭建Java开发环境
第一个Java程序
数据类型和变量
运算符和表达式
控制流程语句
数组和字符串
Java方法和方法调用
Java面向对象编程
Java类和对象
Java继承
Java封装
Java多态
Java异常处理
Java集合框架
Java高级特性
Java泛型
Java注解
Java文件I/O和NIO
Java多线程编程
Java网络编程
Java图形用户界面
Java应用开发
Java数据库连接(JDBC)
Java Web应用
-
+
首页
Java异常处理
### 异常的概念 在Java中,异常是指程序运行时发生的错误,它会影响程序的正常执行。异常可以是程序逻辑错误,如数组越界、算术运算异常等,也可以是由外部因素引起的,如文件未找到、网络错误等。Java使用异常处理机制来处理这些运行时错误。 ### 捕获和抛出异常 Java提供了`try`、`catch`、`finally`和`throw`关键字来捕获和抛出异常。 - **try**:用于包含可能产生异常的代码块。 - **catch**:用于捕获`try`块中产生的异常,并进行处理。 - **finally**:无论是否捕获到异常,都会执行`finally`块中的代码,常用于资源清理。 - **throw**:用于手动抛出异常。 **示例代码**:捕获和抛出异常 ```java class MyException extends Exception { public MyException(String message) { super(message); } } public class Main { public static void main(String[] args) { try { // 尝试执行可能产生异常的代码 int number = 1 / 0; } catch (ArithmeticException e) { // 捕获并处理异常 System.out.println("异常发生:" + e.getMessage()); } finally { // 资源清理 System.out.println("程序继续执行"); } } public static void test() throws MyException { throw new MyException("自定义异常"); } } ``` 在这个例子中,`main`方法中的`try`块尝试执行一个会产生`ArithmeticException`的除法操作。`catch`块捕获这个异常并打印异常信息。`test`方法演示了如何使用`throw`关键字手动抛出一个自定义异常。 ### 自定义异常 在Java中,可以通过继承`Exception`类或其子类来创建自定义异常。 **自定义异常的步骤**: 1. 创建一个继承自`Exception`或`RuntimeException`的类。 2. 添加构造方法,以便在抛出异常时传递错误信息。 3. 在需要的地方抛出自定义异常。 **示例代码**:自定义异常的使用 ```java class InvalidAgeException extends Exception { public InvalidAgeException(String message) { super(message); } } public class Main { public static void main(String[] args) { try { checkAge(-1); } catch (InvalidAgeException e) { System.out.println(e.getMessage()); } } public static void checkAge(int age) throws InvalidAgeException { if (age < 0) { throw new InvalidAgeException("年龄不能为负数"); } System.out.println("年龄检查通过"); } } ``` 在这个例子中,`InvalidAgeException`是一个自定义异常类,`checkAge`方法在年龄无效时抛出这个异常。`main`方法中的`try`块调用`checkAge`方法,并在`catch`块中捕获并处理这个自定义异常。 通过使用异常处理机制,Java程序可以更加健壮,能够优雅地处理运行时错误,并且提供错误处理的灵活性。
wwbang
2024年12月25日 16:36
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码