【发布时间】:2018-02-08 03:41:40
【问题描述】:
我正在开发一个带有kotlin 帮助的android 应用程序,但问题是基于纯kotlin 基础。以下是显示一些异常行为的函数:
fun CatchThat(funct: () -> Unit){
try {
funct()
}catch (ex: Error){
ex.printStackTrace()
}
}
当我在我的代码中使用它时
CatchThat {
// Proprietary Code goes in here
}
- 调试器无法正常工作(有时)
- 专有代码根本不执行(有时)
为什么会遇到这种行为,或者我的某些概念有误(可能是lambdas)。欢迎任何帮助或建议。(我是kotlin的tyro)
EDIT 我在专有代码中所做的事情。
我正在尝试调用一个Thread Pool,它又调用了一个网络活动。这是最好的,我可以解释它。我很抱歉。
【问题讨论】:
-
对我来说,此代码示例有效...您使用的是哪个版本的 kotlin,您提供的专有代码是什么?
-
你没有得到任何输出?你应该用 Throwable 替换 Error 来捕获异常
-
Kotlin 1.1.2抱歉,我无法提供专有代码,因为代码是 专有 -
No @crgarridos sometimes 在这里需要注意。相同的代码在某个时间点运行没有错误,下一次变为空白!!!
-
试着解释你在这段代码中做了什么。 sn-p 是对的。也许启动另一个线程?