From 6ba89d817d2cd181c20bf088ff18e725ad0a914e Mon Sep 17 00:00:00 2001 From: Vadim <44135514+vodemn@users.noreply.github.com> Date: Tue, 13 Feb 2024 19:08:28 +0100 Subject: [PATCH] improved EXIF errors reporting --- lib/utils/ev_from_bytes.dart | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/utils/ev_from_bytes.dart b/lib/utils/ev_from_bytes.dart index c7c7b63..553702d 100644 --- a/lib/utils/ev_from_bytes.dart +++ b/lib/utils/ev_from_bytes.dart @@ -10,7 +10,14 @@ Future evFromImage(Uint8List bytes) async { final apertureValueRatio = (tags["EXIF FNumber"]?.values as IfdRatios?)?.ratios.first; final speedValueRatio = (tags["EXIF ExposureTime"]?.values as IfdRatios?)?.ratios.first; if (iso == null || apertureValueRatio == null || speedValueRatio == null) { - throw FlutterError('Error parsing EXIF: ${tags.keys}'); + throw ArgumentError( + 'Error parsing EXIF: ${tags.keys.join(', ')}', + [ + if (iso == null) 'EXIF ISOSpeedRatings', + if (apertureValueRatio == null) 'EXIF FNumber', + if (speedValueRatio == null) 'EXIF ExposureTime', + ].join(', '), + ); } final aperture = apertureValueRatio.numerator / apertureValueRatio.denominator;