Обработка исключений дротика недопустима - PullRequest
0 голосов
/ 03 января 2019

У меня странная проблема , Я использовал catch для отлова ошибки, но она не сработала。

void main() {
  testException();
}

void testException() {
  print("start");
  try {
    print("try");
    testThrow();
  } on Exception catch (e) {
    print("catch exceptoin:$e");
  }
  print("end");
}

void testThrow() {
  throw Exception("this is exception");
}

Результат выполнения:

результат выполнения

Есть ли что-то, что я не включил?


добавить:

После нескольких тестов , Я нашел в стеке ошибок , Естьошибка:

Not found “dart:isolate/runtime/libisolate_patch.dart”: <source not available>。

Я пытаюсь импортировать его в код , Ошибка подсказки выглядит следующим образом:

Launching lib/main.dart on iPhone X in debug mode...
Compiler message:
lib/main.dart:6:8: Error: Not found: 'dart:isolate/runtime/libisolate_patch.dart'
import 'dart:isolate/runtime/libisolate_patch.dart';
       ^
Unhandled exception:
Unsupported operation: Cannot extract a file path from a org-dartlang-untranslatable-uri URI
#0      _Uri.toFilePath (dart:core/uri.dart:2617:7)
#1      _writeDepfile (package:vm/frontend_server.dart:682:32)
<asynchronous suspension>
#2      FrontendCompiler.compile (package:vm/frontend_server.dart:363:15)
<asynchronous suspension>
#3      _FlutterFrontendCompiler.compile (package:frontend_server/server.dart:31:22)
<asynchronous suspension>
#4      starter (package:frontend_server/server.dart:133:27)
<asynchronous suspension>
#5      main (file:///b/build/slave/Mac_Engine/build/src/flutter/frontend_server/bin/starter.dart:8:30)
<asynchronous suspension>
#6      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:287:32)
#7      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
Compiler failed on /Users/xohome/Documents/shx158/workspace/app/sxapp/lib/main.dart
Error launching application on iPhone X.
Exited (sigterm)

флаттер доктор:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.0.0, on Mac OS X 10.14 18A391, locale zh-Hans-CN)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).
      If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.
      You may also want to add it to your PATH environment variable.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2018.1.4)
[✓] VS Code (version 1.30.1)
[✓] Connected device (1 available)

! Doctor found issues in 1 category.

1 Ответ

0 голосов
/ 03 января 2019

Желтая стрелка в строке 22 на рисунке показывает, что отладчик приостановлен в этой строке. Трассировка стека слева показывает то же самое: программа в настоящее время использует метод testThrow. Похоже, что отладчик настроен на паузу во всех бросках, поскольку в строке 22 не зарегистрировано ни одной точки останова. Должна быть панель с именем «точки останова» (по крайней мере, так называется по-английски) с двумя флажками под панелью «трассировки стека». налево. Верхний флажок называется «Все исключения», и когда установлен этот флажок, отладчик будет прерываться при броске.

Вам нужно продолжить программу, чтобы увидеть, что произойдет позже. Вы должны быть в состоянии сделать это, нажав F5. В качестве альтернативы снимите флажок, который прерывает все броски, и перезапустите программу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...