std*_*out 5 exception kotlin kotlin-coroutines
正如标题所暗示的那样,我很好奇这样做之间是否有任何区别;
fun main() {
val job = GlobalScope.launch(Dispatchers.Main) {
withTimeout(2000L) {
delayMe()
}
}
job.invokeOnCompletion { cause -> println("We were canceled due to $cause") }
}
suspend fun delayMe() {
withContext(Dispatchers.Default) {
delay(5000L)
}
}
Run Code Online (Sandbox Code Playgroud)
或这个;
fun main() {
GlobalScope.launch(Dispatchers.Main) {
try {
withTimeout(2000L) {
delayMe()
}
} catch(cause: Exception){
println("We were canceled due to $cause")
}
}
...
}
...
Run Code Online (Sandbox Code Playgroud)
在处理协程内的异常方面。
PS:上面的示例代码灵感来自这里。
归档时间: |
|
查看次数: |
317 次 |
最近记录: |