cev*_*ing 7 kotlin android-jetpack-compose
我尝试以这种方式捕获应用程序错误:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
try {
MyApp()
}
catch (t: Throwable) {
Text(t.message ?: "Error", fontSize = 24.sp)
Text(t.stackTraceToString(), fontFamily = FontFamily.Monospace)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它不编译:
可组合函数调用不支持 Try catch。
搞什么?
我还应该使用什么?
小智 0
@Composable
fun MyScreen() {
val data = try {
loadData()
} catch (error: Throwable) {
// Handle the error here
null
}
if (data != null) {
// Render the data
} else {
// Render an error message or retry button
}
}
Run Code Online (Sandbox Code Playgroud)
要使用 catch 运算符,您可以在可组合函数上调用它并传入 lambda 函数来处理错误。lambda 函数应采用 Throwable 类型的单个参数,该参数表示发生的错误。在 lambda 函数内部,您可以执行任何必要的错误处理,例如显示错误消息或重试失败的操作。
归档时间: |
|
查看次数: |
4667 次 |
最近记录: |