北京网站关键词,开发微网站和小程序,做五金找订单查什么网站,wordpress口令查看内容hello啊#xff0c;各位观众姥爷们#xff01;#xff01;#xff01;本牛马baby今天又来了#xff01;哈哈哈哈哈嗝#x1f436;
Java中异常的处理方式有哪些#xff1f;
在 Java 中#xff0c;异常的处理方式主要有以下几种#xff1a;
1. 使用 try-catch 语句
…hello啊各位观众姥爷们本牛马baby今天又来了哈哈哈哈哈嗝
Java中异常的处理方式有哪些
在 Java 中异常的处理方式主要有以下几种
1. 使用 try-catch 语句
try-catch 结构是 Java 异常处理的基本方式。可以将可能抛出异常的代码放在 try 块中并在 catch 块中处理这些异常。
try {// 可能抛出异常的代码
} catch (ExceptionType e) {// 处理异常
}可以有多个 catch 块来捕获不同类型的异常。
try {// 可能抛出异常的代码
} catch (IOException e) {// 处理 IO 异常
} catch (SQLException e) {// 处理 SQL 异常
} catch (Exception e) {// 处理其他异常
}2. 使用 finally 块
finally 块用于放置无论如何都会执行的代码通常用于释放资源比如关闭文件流或数据库连接。
try {// 可能抛出异常的代码
} catch (Exception e) {// 处理异常
} finally {// 清理资源例如关闭流或数据库连接
}3. 使用 try-with-resources
从 Java 7 开始try-with-resources 语法允许在声明资源的同时自动管理其关闭。这对于处理如文件流、网络连接等可关闭的资源尤为重要。
try (BufferedReader br new BufferedReader(new FileReader(file.txt))) {// 使用 br 读取文件内容
} catch (IOException e) {// 处理 IO 异常
}4. 抛出异常
使用 throw 语句可以主动抛出异常。可以抛出系统提供的异常也可以抛出自定义异常。
throw new IllegalArgumentException(Invalid argument);在方法声明中使用 throws 关键字指明该方法可能抛出的异常这样调用该方法的代码就必须处理这些异常。
public void myMethod() throws IOException, SQLException {// 可能抛出 IO 和 SQL 异常的代码
}5. 自定义异常
可以创建自己的异常类以满足特定需求。自定义异常类通常继承 Exception 或 RuntimeException。
public class MyCustomException extends Exception {public MyCustomException(String message) {super(message);}
}6. 记录异常
通过日志记录异常信息可以帮助开发者追踪问题常用的日志记录框架有 Log4j、SLF4J 等。
try {// 可能抛出异常的代码
} catch (Exception e) {logger.error(An error occurred, e);
}7. 创建全局异常处理机制
在大型应用中常常需要将异常处理集中到一个地方例如使用 Spring 的全局异常处理机制使用 ControllerAdvice 和 ExceptionHandler 注解来集中处理控制器中的异常。
ControllerAdvice
public class GlobalExceptionHandler {ExceptionHandler(Exception.class)public ResponseEntityString handleException(Exception e) {return new ResponseEntity(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);}
}Java中的IO流体系说一下
Java中的IO流体系是用于处理输入与输出的类库提供了对数据的读写操作。Java的IO流体系分为几种主要的类和接口通过这些类和接口开发者可以进行文件操作、数据读取、字符处理等。大体上来说Java IO流可以分为以下几种类型
1. 字节流和字符流 字节流InputStream 和 OutputStream 字节流用于处理所有类型的 I/O包括音频、视频和其他二进制数据。主要的类包括 InputStream字节输入流的抽象类。OutputStream字节输出流的抽象类。常用的子类 FileInputStream用于从文件中读取字节。FileOutputStream用于向文件中写入字节。BufferedInputStream为其他输入流提供缓冲功能以提高效率。BufferedOutputStream为其他输出流提供缓冲功能。 字符流Reader 和 Writer 字符流专门用于处理字符数据。它们可以方便地处理文本文件和字符编码。主要的类包括 Reader字符输入流的抽象类。Writer字符输出流的抽象类。常用的子类 FileReader用于从文本文件中读取字符。FileWriter用于向文本文件中写入字符。BufferedReader为字符输入流提供缓冲功能常用于按行读取文本。BufferedWriter为字符输出流提供缓冲功能。
2. 标准输入和输出
Java 提供了一种便捷的方式来处理标准输入和输出
System.in标准输入流通常与键盘输入相关联可以被视为一个 InputStream。System.out标准输出流通常与控制台输出相关联可以被视为一个 OutputStream。
3. 数据流
Java 提供了数据流Data Input and Output类用于高效地读写基本数据类型如 int、float、char等
DataInputStream用于从输入流中读取基本数据类型。DataOutputStream用于向输出流中写入基本数据类型。
4. 对象流
Java 的对象流Object Input/Output允许你序列化和反序列化 Java 对象
ObjectInputStream用于从输入流中读取对象。ObjectOutputStream用于向输出流中写入对象。序列化和反序列化允许将对象的状态写入流中以在后续恢复。
5. 内存流
内存流使用内存作为输入和输出的源与磁盘操作相对
ByteArrayInputStream用于在内存中读取字节。ByteArrayOutputStream用于在内存中写入字节。CharArrayReader 和 CharArrayWriter用于在内存中读取和写入字符。
6. NIONew IO
Java 1.4 引入了 NIO为高效的 I/O 操作提供了更强大的功能并支持非阻塞 I/O
Channel通道代替了传统的流提供了双向传输的能力。Buffer用于在通道和数据源之间存储数据的容器。Selectors可以注册多个通道以处理多个输入/输出事件从而实现非阻塞 I/O。
7. 过滤流
过滤流用于对输入和输出流进行包装提供额外的功能例如
BufferedInputStream在字节输入流中添加缓冲。从而提高读操作的效率。BufferedOutputStream在字节输出流中添加缓冲。PrintWriter用于字符输出可以直接写入格式化的文本。 图标更换 https://pan.quark.cn/s/d366949260e9 IDEA ji huo https://pan.quark.cn/s/4216736c0427 大全 https://kdocs.cn/l/cqhxNU9I2lLD