From 589901150dccb2f647d25fc6d0847158a107f7c3 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Thu, 27 Jun 2024 09:53:20 -0400 Subject: [PATCH] error handling for error found by blue --- lib/pangea/utils/error_handler.dart | 5 +++++ lib/pangea/widgets/igc/pangea_rich_text.dart | 23 ++++++++++++++------ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/lib/pangea/utils/error_handler.dart b/lib/pangea/utils/error_handler.dart index d66c29186..2144e9f87 100644 --- a/lib/pangea/utils/error_handler.dart +++ b/lib/pangea/utils/error_handler.dart @@ -8,6 +8,11 @@ import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:http/http.dart' as http; import 'package:sentry_flutter/sentry_flutter.dart'; +class PangeaWarningError implements Exception { + final String message; + PangeaWarningError(message) : message = "Pangea Warning Error: $message"; +} + class ErrorHandler { ErrorHandler(); diff --git a/lib/pangea/widgets/igc/pangea_rich_text.dart b/lib/pangea/widgets/igc/pangea_rich_text.dart index bbd6868bf..afb72c0d9 100644 --- a/lib/pangea/widgets/igc/pangea_rich_text.dart +++ b/lib/pangea/widgets/igc/pangea_rich_text.dart @@ -57,13 +57,22 @@ class PangeaRichTextState extends State { } void _setTextSpan(String newTextSpan) { - widget.toolbarController?.toolbar?.textSelection.setMessageText( - newTextSpan, - ); - if (mounted) { - setState(() { - textSpan = newTextSpan; - }); + try { + widget.toolbarController?.toolbar?.textSelection.setMessageText( + newTextSpan, + ); + if (mounted) { + setState(() { + textSpan = newTextSpan; + }); + } + } catch (err, stack) { + ErrorHandler.logError( + e: PangeaWarningError( + err.toString(), + ), + s: stack, + ); } }