首页 > 解决方案 > 如何调试这个 Flutter App Assertion 失败?

问题描述

在开发复杂的 Flutter Web App 时,突然遇到断言错误,不知道根本原因在哪里。任何人都可以解释此异常消息吗?我注意到“hasSize”属性问题,但颤振检查器显示任何小部件都没有问题。谢谢!

PS:我不使用 FocusNode ......但我假设它是某些小部件的一部分。

======== Exception caught by foundation library ====================================================
The following assertion was thrown while dispatching notifications for FocusNode:
Assertion failed: file:///C:/dev/flutter/packages/flutter/lib/src/rendering/box.dart:1929:12
hasSize
"RenderBox was not laid out: RenderEditable#98684 NEEDS-LAYOUT NEEDS-PAINT"

When the exception was thrown, this was the stack: 
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49  throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3    assertFailed
packages/flutter/src/rendering/box.dart 1929:12                                                                            get size
packages/flutter/src/widgets/editable_text.dart 2466:40                                                                    [_updateSizeAndTransform]
packages/flutter/src/widgets/editable_text.dart 2076:7                                                                     [_openInputConnection]
packages/flutter/src/widgets/editable_text.dart 2110:7                                                                     [_openOrCloseInputConnectionIfNeeded]
packages/flutter/src/widgets/editable_text.dart 2441:5                                                                     [_handleFocusChanged]
packages/flutter/src/foundation/change_notifier.dart 308:24                                                                notifyListeners
packages/flutter/src/widgets/focus_manager.dart 1145:5                                                                     [_notify]
packages/flutter/src/widgets/focus_manager.dart 1882:11                                                                    [_applyFocusChange]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15           <fn>
The FocusNode sending notification was: FocusNode#6f6e5([PRIMARY FOCUS])
  context: EditableText-[LabeledGlobalKey<EditableTextState>#0bc2b]
  PRIMARY FOCUS
===================================================================================================='''

标签: flutterexception

解决方案


推荐阅读