@@ -32,10 +32,12 @@ # import "OFFile.h" #endif #import "OFSystemInfo.h" #import "OFInitializationFailedException.h" +#import "OFInvalidArgumentException.h" +#import "OFInvalidEncodingException.h" #import "OFInvalidFormatException.h" #import "OFMalformedXMLException.h" #import "OFOutOfRangeException.h" #import "OFUnboundPrefixException.h" @@ -478,12 +480,19 @@ return false; hasVersion = true; } - if ([attribute isEqual: @"encoding"]) - _encoding = of_string_parse_encoding(value); + if ([attribute isEqual: @"encoding"]) { + @try { + _encoding = + of_string_parse_encoding(value); + } @catch (OFInvalidArgumentException *e) { + @throw [OFInvalidEncodingException + exception]; + } + } last = i + 1; PIState = 0; break;