Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1019 of 1024 menu
◀ ▶

Класс FlutterErrorDetails

Объект FlutterErrorDetails передают в reportError, presentError и dumpErrorToConsole. Поле exception хранит сам сбой, stack содержит цепочку вызовов, library задаёт имя подсистемы Flutter.

Синтаксис

FlutterErrorDetails( exception: exception, stack: stack, library: library, )

Параметры

Параметр Описание
exception Сам сбой: объект ошибки или исключение.
stack Цепочка вызовов на момент сбоя.
library Имя подсистемы Flutter, в которой произошёл сбой.

Пример

Давайте отправить details через reportError:

import 'package:flutter/material.dart'; void main() { FlutterError.reportError( FlutterErrorDetails( exception: Exception('abcde'), library: 'demo', ), ); runApp( MaterialApp( home: Scaffold( body: Center( child: Text('abcde'), ), ), ), ); }

На экране 'abcde'; в консоли появятся поля details с тем же текстом в exception.

Пример

Давайте сохранить stack и вывести код 12345:

import 'package:flutter/material.dart'; void main() { try { throw StateError('12345'); } catch (e, st) { final details = FlutterErrorDetails( exception: e, stack: st, ); FlutterError.dumpErrorToConsole(details); } runApp( MaterialApp( home: Scaffold( body: Center( child: Text('12345'), ), ), ), ); }

На экране '12345'; dumpErrorToConsole напечатает stack из stack.

Смотрите также

  • класс FlutterError,
    который принимает FlutterErrorDetails в reportError
  • класс ErrorWidget,
    которому передают details в builder
  • метод presentError,
    который рисует красный экран из details
  • класс TickerCanceled,
    который кладут в exception при отмене ticker
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить