Java : AsynchronousCloseException 示例
Java 中的 AsynchronousCloseException (Java SE 24 & JDK 24) 及其示例。
您将找到大多数 AsynchronousCloseException 方法的代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
当另一个线程关闭通道或因 I/O 操作而被阻塞的通道部分时,线程接收到已检查的异常。 (机器翻译)
try (final var executor = Executors.newSingleThreadExecutor()) {
final var future = executor.submit(() -> {
try (final var channel = ServerSocketChannel.open()) {
System.out.println("bind ...");
channel.bind(new InetSocketAddress("127.0.0.1", 8000));
System.out.println("bind OK!");
System.out.println("accept ...");
channel.accept();
System.out.println("accept OK!");
} catch (AsynchronousCloseException e) {
System.out.println("AsynchronousCloseException!");
} catch (IOException e) {
System.out.println("IOException!");
}
});
TimeUnit.SECONDS.sleep(2);
System.out.println("-- future.cancel --");
future.cancel(true);
}
// Result
// ↓
//bind ...
//bind OK!
//accept ...
//-- future.cancel --
//AsynchronousCloseException!
Constructors
AsynchronousCloseException ()
构造此类的一个实例。 (机器翻译)
final var e = new AsynchronousCloseException();
System.out.println(e); // java.nio.channels.AsynchronousCloseException
Methods declared in Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
请参阅下面的链接。