How can I catch exceptions thrown when flutter resolves a NetworkImage?

Viewed 21300

My use-case here is to show a snackbar if there's an error, but I can't catch the SocketException since I'm not calling load: flutter is.

Update (example stacktrace):

I/flutter (11702): ══╡ EXCEPTION CAUGHT BY SERVICES ╞══════════════════════════════════════════════════════════════════
I/flutter (11702): The following SocketException was thrown resolving a single-frame image stream:
I/flutter (11702): Connection failed (OS Error: Network is unreachable, errno = 101), address = (( snip )), port
I/flutter (11702): = 443
I/flutter (11702): When the exception was thrown, this was the stack:
I/flutter (11702): #0      IOClient.send (package:http/src/io_client.dart:30:23)
I/flutter (11702): <asynchronous suspension>
I/flutter (11702): #1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:171:38)
I/flutter (11702): <asynchronous suspension>
I/flutter (11702): #2      BaseClient.get (package:http/src/base_client.dart:34:5)
I/flutter (11702): #3      NetworkImage._loadAsync (package:flutter/src/services/image_provider.dart:431:54)
I/flutter (11702): <asynchronous suspension>
I/flutter (11702): #4      NetworkImage.load (package:flutter/src/services/image_provider.dart:417:7)
I/flutter (11702): #5      ImageProvider.resolve.<anonymous closure>.<anonymous closure> (package:flutter/src/services/image_provider.dart:253:61)
1 Answers
Related