gpt4 book ai didi

scala - : Try {block of code} for X duration and catch {Exceptions,等Timeout}怎么办?

转载 作者:行者123 更新时间:2023-12-03 22:02:04 25 4
gpt4 key购买 nike

好吧,标题有点晦涩,因为我不确定如何表达它,但本质上我是在尝试执行一个会超时的 try-catch 语句...这里有一些伪代码可能有助于描述我的内容我正在尝试做:

try (10 seconds) {
*make some connection and do some things*
} catch {
case ex1: TimeoutException => *do something*
case ex2: Exception => *do something else*
}

目前,我正在使用的硬件中存在一个错误,连接请求永远不会得到响应,因此它只是坐在那里,不会捕获任何异常。因为这只是一个错误(应该是暂时的),我不想操纵应用程序的架构(具体来说,我不想想创建一个新的参与者来解决一些小问题)并且如果我能在类的范围内实现这个伪代码,那将是非常理想的。

所以基本上我的问题是如何在它所在的类的范围内实现上面的伪代码?

如果有什么不清楚的地方请告诉我!谢谢!

最佳答案

尝试:

import scala.concurrent._
import ExecutionContext.Implicits.global

val f = future {
// make some connection and do some things
}
try {
Await.result(f, 10 seconds);
} catch {
case e: TimeoutException => // do something
case _ => // do something else
}

更多信息:Futures and Promises

关于scala - : Try {block of code} for X duration and catch {Exceptions,等Timeout}怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24455330/

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