嗨,当我向服务器请求数据时,我仍然是kotlin语言的新手,例如在java中:
try{
request_server();
}
catch(IOException e){
//Some toast for network timeout for example
}
如何在Kotlin中检查该请求是否有网络超时?
答案 0 :(得分:2)
Kotlin没有检查异常,但这并不意味着你无法在Kotlin中找到IOException
。除了catch
中的变量声明之外没有区别:
try{
request_server();
}
catch(e: IOException){
//Some toast for network timeout for example
}
你很难看到这种语言中的结构。由于Kotlin对高阶函数有很好的支持,因此您可以将错误处理提取到这样的函数中,使业务逻辑更加明显,并且还可以重用。
fun <R> timeoutHandled(block: () -> R): R {
try {
return block()
} catch (e: IOException) {
//Some toast for network timeout for example
}
}
像这样使用:
val result = timeoutHandled {
requestServer()
}