skip to Main Content

I have a Flutter Web project, and when an error is thrown, I can’t open the dart file where the error was thrown, because the error line points to a JS file:

Launching libmain.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...
This app is linked to the debug service: ws://127.0.0.1:63045/gOvW2paMrLg=/ws
Debug service listening on ws://127.0.0.1:63045/gOvW2paMrLg=/ws

 Running with sound null safety 
Debug service listening on ws://127.0.0.1:63045/gOvW2paMrLg=/ws
Error: Invalid argument(s): A value must be provided. Supported values: 0, 1
    at Object.throw_ [as throw] (http://localhost:53846/dart_sdk.js:5061:11)
    at Object._$36enumDecode [as _$enumDecode] (http://localhost:53846/packages/web_app/core/models/pessoa/pessoa.dart.lib.js:482:17)
    at Object._$36PessoaFromJson [as _$PessoaFromJson] (http://localhost:53846/packages/web_app/core/models/pessoa/pessoa.dart.lib.js:473:54)
    at Function.fromJson (http://localhost:53846/packages/web_app/core/models/pessoa/pessoa.dart.lib.js:375:21)
    at http://localhost:53846/packages/web_app/repository/pessoa_repository.dart.lib.js:60:193
    at repository.RepositoryGetter.new.getRecurso (http://localhost:53846/packages/web_app/repository/repository.dart.lib.js:33:18)
    at getRecurso.next (<anonymous>)
    at http://localhost:53846/dart_sdk.js:38640:33
    at _RootZone.runUnary (http://localhost:53846/dart_sdk.js:38511:59)
    at _FutureListener.thenAwait.handleValue (http://localhost:53846/dart_sdk.js:33713:29)
    at handleValueCallback (http://localhost:53846/dart_sdk.js:34265:49)
    at Function._propagateToListeners (http://localhost:53846/dart_sdk.js:34303:17)
    at _Future.new.[_completeWithValue] (http://localhost:53846/dart_sdk.js:34151:23)
    at async._AsyncCallbackEntry.new.callback (http://localhost:53846/dart_sdk.js:34172:35)
    at Object._microtaskLoop (http://localhost:53846/dart_sdk.js:38778:13)
    at _startMicrotaskLoop (http://localhost:53846/dart_sdk.js:38784:13)
    at http://localhost:53846/dart_sdk.js:34519:9

How can I make it to show the dart file where the error occurred, instead of a JS file?

I’m using Flutter Channel stable 2.5.2, Android Studio version 2020.3.

2

Answers


  1. Chosen as BEST ANSWER

    I have found a workaround for this issue.

    You basically have to install a third-party patch; it will translate the paths in JS and point to the right line in dart file.

    Download the patch and follow the instructions here: https://github.com/obeobe/flutter-web-exception-mapper


  2. Optionally you can see trace of dart files in the browser.

    Make sure you have source maps enabled in your browser.

    got the answer from this link on github

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search