提问人:vinothkumar A 提问时间:8/2/2023 更新时间:8/2/2023 访问量:274
invokeSuspend 中的 NullPointerException
NullPointerException in invokeSuspend
问:
致命异常:java.lang.NullPointerException: 在 com.app.example.sampleClass.BaseViewModel$getList$1.invokeSuspend(BaseViewModel.java:125) 在 kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl.java:8) 在 kotlinx.coroutines.DispatchedTask.run(DispatchedTask.java:100) 在 android.os.Handler.handleCallback(Handler.java:938) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在android.os.Looper.loopOnce(Looper.java:226) 在android.os.Looper.loop(Looper.java:313) 在 android.app.ActivityThread.main(ActivityThread.java:8751) 在 java.lang.reflect.Method.invoke(Method.java) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
`val viewModelJob = Job()
val uiScope = CoroutineScope(Dispatchers.Main + viewModelJob)
uiScope.launch {
// using looping in this code
}`
答:
您应该尽可能多地获取错误信息。
在错误部分中,某物的值被定义为类型而不是 ,这意味着它实际上看起来是 。null
null
如果可以使该变量类型 ,请这样做;否则,请确保它不会以某种方式进入。你必须使用 try catch 来捕获错误。如果第一种选择是可能的,那么第一种选择似乎更好。null
null
我希望你能理解。如果不成功,请尝试一起发布更多相关代码。
评论