【发布时间】:2021-02-22 02:25:55
【问题描述】:
我有一段看起来像这样的代码:
if (mapController != null) {
final LatLng oldLatLng = mapController.center; // this is line 185 in stMapScreen.dart
我有时(通过Sentry 错误捕获)收到以下错误:
NoSuchMethodError: NoSuchMethodError: The getter 'center' was called on null.
Receiver: null
Tried calling: center
File "map.dart", line 44, in MapControllerImpl.center
File "stMapScreen.dart", line 185, in _StMapScreenState.glideToLocation
我很难理解如何在!= null 检查后的行中出现“call on null”错误。
我不知道如何始终如一地重现该错误。
我只是想知道理论上如何可能的答案。
mapController var 是来自 flutter_map 库的 MapController 类。
【问题讨论】:
-
这是唯一一个叫它的地方吗?也许它在其他地方被称为?
-
你能添加一些代码在空检查之前打印 mapController 吗?知道您的 mapController 字符串可能会显示您的问题。
-
请分享更多代码。整个方法会很好。
-
我认为 mapController 不为空,但 mapController.center 中的值是空值。能否请您打印 mapController.center 的值?
-
谢谢@ToraCode、@YoBo 和@Gourango - 我会添加一些东西来捕捉
mapController的值,以便下次发生这种情况时,我会及时更新这个问题