drewnoakes / metadata-extractor-dotnet

Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files
Other
934 stars 165 forks source link

Implement TgaHeaderReader.TryExtract to not use exceptions as information #297

Open drewnoakes opened 3 years ago

drewnoakes commented 3 years ago

The current implementation of TgaHeaderReader.TryExtract returns false from a catch block. It should, instead, use return values to indicate when extraction failed.

This is more relevant than it may seem at first, as the FileTypeDetector infrastructure uses this code path to detect whether a file is TGA or not (there is no easy way to detect TGA, so we just attempt an extraction). For bulk file processing, this exception can occur regularly. This makes debugging annoying, and can hurt performance.