从 package:stack_trace 中获取了一个堆栈帧,其中需要一个 vm 或 web 框架

My *_*Car 15 error-handling dart flutter flutter-web

我正在使用web (Chrome)来运行我的应用程序。但是,我收到错误。这是错误:

\n
\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1 EXCEPTION CAUGHT BY WIDGETS LIBRARY \xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\nThe following assertion was thrown building Builder:\nAssertion failed:\nfile:///Users/name/development/flutter/packages/flutter/lib/src/foundation/stack_frame.dart:192:7\nline != \'===== asynchronous gap ===========================\'\n"Got a stack frame from package:stack_trace, where a vm or web frame was expected. This can happen\nif FlutterError.demangleStackTrace was not set in an environment that propagates non-standard stack\ntraces to the framework, such as during tests."\n\nThe relevant error-causing widget was:\n  MaterialApp\n  MaterialApp:file:///Users/name/development/projects/flutter/hello_world/lib/src/hello_world.dart:12:12\n\nWhen the exception was thrown, this was the stack:\ndart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49      throw_\ndart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3        assertFailed\npackages/flutter/src/foundation/stack_frame.dart 192:15                           fromStackTraceLine\ndart-sdk/lib/internal/iterable.dart 391:20                                        moveNext\ndart-sdk/lib/internal/iterable.dart 869:20                                        moveNext\ndart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 748:20  next\ndart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 586:14                of\ndart-sdk/lib/core/iterable.dart 470:12                                            toList\npackages/flutter/src/foundation/stack_frame.dart 87:37                            fromStackString\npackages/flutter/src/foundation/assertions.dart 1066:54                           defaultStackFilter\npackages/flutter/src/foundation/assertions.dart 1260:43                           _applyStackFilter\npackages/flutter/src/foundation/assertions.dart 1235:17                           new\npackages/flutter/src/foundation/assertions.dart 725:22                            debugFillProperties\npackages/flutter/src/foundation/diagnostics.dart 2992:17                          <fn>\npackages/flutter/src/foundation/diagnostics.dart 2994:16                          get builder\npackages/flutter/src/foundation/assertions.dart 1285:56                           get builder\npackages/flutter/src/foundation/diagnostics.dart 3009:105                         getProperties\npackages/flutter/src/foundation/diagnostics.dart 1244:62                          [_debugRender]\npackages/flutter/src/foundation/diagnostics.dart 1121:14                          render\npackages/flutter/src/foundation/assertions.dart 1013:44                           dumpErrorToConsole\npackages/app/main.dart 28:69                                                   <fn>\npackages/flutter/src/foundation/assertions.dart 1177:14                           reportError\npackages/flutter/src/widgets/framework.dart 6408:16                               _debugReportException\npackages/flutter/src/widgets/framework.dart 4815:9                                performRebuild\npackages/flutter/src/widgets/framework.dart 4977:11                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4968:11                               [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4977:11                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4968:11                               [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 6350:36                               inflateWidget\npackages/flutter/src/widgets/framework.dart 6362:32                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4977:11                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4968:11                               [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4977:11                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4968:11                               [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4977:11                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4968:11                               [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4977:11                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4968:11                               [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4977:11                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4968:11                               [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 4832:16                               performRebuild\npackages/flutter/src/widgets/framework.dart 4529:5                                rebuild\npackages/flutter/src/widgets/framework.dart 4787:5                                [_firstBuild]\npackages/flutter/src/widgets/framework.dart 4781:5                                mount\npackages/flutter/src/widgets/framework.dart 3817:15                               inflateWidget\npackages/flutter/src/widgets/framework.dart 3551:18                               updateChild\npackages/flutter/src/widgets/framework.dart 6215:14                               mount\n
Run Code Online (Sandbox Code Playgroud)\n

仅当使用 运行我的应用程序时才会发生此错误web (Chrome)。如果我使用Android Emulator我不会收到此错误。

\n

我提到了一些帖子,例如Widget test failed with No MediaQuery widget found、No MediaQuery widget heavenfound、No MediaQuery heaven can be find? 和其他帖子,但仍然无法解决此错误。

\n

一些代码片段:

\n

main.dart:

\n
import \'dart:async\';\n\nimport \'package:flutter/material.dart\';\n\xe2\x80\xa6\n\nFuture<void> main() async {\n  await runZonedGuarded(\n    () async {\n      WidgetsFlutterBinding.ensureInitialized();\n      await Firebase.initializeApp();\n      GoRouter.setUrlPathStrategy(UrlPathStrategy.path);\n      runApp(const ProviderScope(child: MaterialApp(home: HelloWorld())));\n      \xe2\x80\xa6\n    },\n    (Object error, StackTrace stack) {\n      debugPrint(error.toString());\n      debugPrint(stack.toString());\n    },\n  );\n}\n
Run Code Online (Sandbox Code Playgroud)\n

hello_world.dart:

\n
import \'package:flutter/material.dart\';\n\nimport \'package:hello_world/src/app.dart\';\n\xe2\x80\xa6\n\nclass HelloWorld extends StatelessWidget {\n  const HelloWorld({Key? key}) : super(key: key);\n\n  @override\n  Widget build(BuildContext context) => MaterialApp(\n        theme: \xe2\x80\xa6,\n        home: const App(),\n      );\n}\n
Run Code Online (Sandbox Code Playgroud)\n

app.dart:

\n
import \'package:flutter/material.dart\';\n\xe2\x80\xa6\n\nclass App extends ConsumerStatefulWidget {\n  const App({Key? key}) : super(key: key);\n\n  @override\n  ConsumerState<App> createState() => _AppState();\n}\n\nclass _AppState extends ConsumerState<App> {\n  @override\n  void initState() {\n    super.initState();\n    kIsWeb ? null : \xe2\x80\xa6;\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    \xe2\x80\xa6\n\n    return Scaffold(\n      body: \xe2\x80\xa6,\n    );\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我不太确定错误是否源自这一行:

\n
runApp(const ProviderScope(child: MaterialApp(home: HelloWorld())));\n
Run Code Online (Sandbox Code Playgroud)\n

我该如何修复这个错误?如果有人可以提供建议,我们将不胜感激。先感谢您!

\n

My *_*Car 32

我通过设置解决了这个错误FlutterError.demangleStackTrace:

import 'package:stack_trace/stack_trace.dart' as stack_trace;
Run Code Online (Sandbox Code Playgroud)
void main() {
  runApp(const HelloWorld());
  FlutterError.demangleStackTrace = (StackTrace stack) {
    if (stack is stack_trace.Trace) return stack.vmTrace;
    if (stack is stack_trace.Chain) return stack.toTrace().vmTrace;
    return stack;
  };
}
Run Code Online (Sandbox Code Playgroud)

  • @DeanVillamia 我的理解是,某些包创建了与虚拟机生成的堆栈跟踪格式不同的格式,可能是通过 `package:stack_trace` (例如 Riverpod 使用它)。但 Flutter 希望解析正常的 VM 堆栈跟踪,因此它允许我们设置“FlutterError.demangleStackTrace”来执行返回 VM 堆栈跟踪的自定义转换。 (3认同)
  • 你在哪里设置这个? (2认同)