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

Класс ErrorWidget

Когда build падает, Flutter рисует ErrorWidget с сообщением из FlutterErrorDetails. Глобальную заглушку задают через ErrorWidget.builder до runApp.

Синтаксис

ErrorWidget.builder = (FlutterErrorDetails details) { return Text('abcde'); };

Параметры

Параметр Описание
details Детали сбоя для текста на экране.

Пример

Давайте показать свой текст abcde при ошибке:

import 'package:flutter/material.dart'; void main() { ErrorWidget.builder = (details) { return Material( child: Center( child: Text('abcde'), ), ); }; runApp( MaterialApp( home: Scaffold( body: Center( child: Text('abcde'), ), ), ), ); }

При штатном запуске на экране по центру 'abcde'; при падении build builder вернёт тот же текст.

Пример

Давайте бросить ошибку в build и увидеть 12345:

import 'package:flutter/material.dart'; class Bad extends StatelessWidget { @override Widget build(BuildContext context) { throw Exception('12345'); } } void main() { ErrorWidget.builder = (details) { return Text('12345'); }; runApp( MaterialApp( home: Scaffold( body: Bad(), ), ), ); }

Вместо Bad на экране появится '12345' из builder.

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

  • класс FlutterError,
    который настраивает onError до runApp
  • класс FlutterErrorDetails,
    который приходит в builder
  • метод presentError,
    который показывает стандартный красный экран
  • класс NetworkImageLoadException,
    которую ловят через errorBuilder у Image
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить