Setting metadata on an image should always succeed
The current implementation of Image::setMetadata() simply calls the set-methods for each type of metadata. However, by convention, these throw if a the image format doesn't support a particular type of metadata. As a result, Image::setMetadata cannot be used with several image formats.
Image::setMetadata() should be improved to use Image::checkMode() and only call the individual set-methods if the image format supports a particular type of metadata.
Alternatively, image formats can override setMetadata() and provide a specific version which works.
(Reported by Matthias Baas in http://dev.exiv2.org/boards/3/topics/818)