鉴于,
val request: HttpPost = new HttpPost(url)
val response: CloseableHttpResponse = client.execute(request)
如何使用try-catch块来排列它们,以便正确地捕获异常?
这里写着 execute()
可以抛出2个异常,所以我尝试
val client: CloseableHttpClient = HttpClientBuilder.create().build()
try{
val response: CloseableHttpResponse = client.execute(request)
}catch {
case ClientProtocolException => println("Excepton1")
case IOException => println("Exception2")
}finally {
response.close()
client.close()
}
但这是无效的,因为 response
未在中解决 finally
在中声明后的块 try
.
任何不让我使用的解决方案 var
?
谢谢你的帮助。
2条答案
按热度按时间fnatzsnv1#
我猜您正在寻找类似的东西来尝试java的资源,在scala中您可以使用
scala.util.Using
. 下面是一个示例用法3z6pesqy2#
catch块可以命名它捕获的异常,如
catch(异常SQLE){….}
因此可以有多个catch块来处理不同的异常。