使用地理位置在Dart工作.传递给回调的地理位置对象并不总是具有高度,速度或方向.我的问题是我如何检查这个以防止抛出异常?
我知道我可以使用异常处理,但更愿意检测这种情况.至少在Dart编辑器中,即使异常被捕获,调试器也会暂停执行...
我试过了
if(solution.coords.altitude==null) { ... }
if(solution.coords.altitude is num) { ... }
Run Code Online (Sandbox Code Playgroud)
这些导致异常.在调试器中,高度不会显示为对象中的可用字段.在设备上,使用正确的设置,包括高度.
我该如何处理?当然有一些方法可以测试可选字段是否存在.
只是重申一下,这些字段没有出现,它们没有显示为null,它们不在那里.
在此先感谢您的帮助.
返回什么coords?我很难相信它altitude甚至不可用,因为它是一个吸气剂。也许整体coords(即Coordinates物体)是null?
尝试:
if (solution.coords is! Coordinates) {
print('No coords!');
}
Run Code Online (Sandbox Code Playgroud)
抛出异常是因为它未实现:http://src.chromium.org/multivm/trunk/webkit/Source/WebCore/bindings/dart/custom/DartCooperativesCustom.cpp
如果您作为 JavaScript 运行,则一切正常,因为它不使用 Dart VM。
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |