gpt4 book ai didi

java - java - 如何从java线程抛出检查异常?

转载 作者:IT老高 更新时间:2023-10-28 20:44:32 28 4
gpt4 key购买 nike

嘿,我正在编写一个网络应用程序,我在其中读取一些自定义二进制格式的数据包。我正在启动一个后台线程来等待传入的数据。问题是,编译器不允许我将任何抛出(检查)异常的代码放入 run() 中。它说:

run() in (...).Listener cannot implement run() in java.lang.Runnable; overridden method does not throw java.io.IOException

我希望异常杀死线程,并让它在父线程的某个地方被捕获。这可能实现还是我必须处理线程内部的每个异常?

最佳答案

为了能够将异常发送到父线程,您可以将后台线程放在 Callable 中。 (它还允许抛出检查异常),然后将其传递给 submit some Executor的方法| .提交方法将返回 Future然后您可以使用它来获取异常(它的 get 方法将抛出一个包含原始异常的 ExecutionException)。

关于java - java - 如何从java线程抛出检查异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1369204/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com