@@ -13,17 +13,17 @@ * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" + +#include #import "OFUnsupportedProtocolException.h" #import "OFString.h" #import "OFURL.h" -#import "OFNotImplementedException.h" - #import "common.h" @implementation OFUnsupportedProtocolException + (instancetype)exceptionWithClass: (Class)class_ URL: (OFURL*)url @@ -32,14 +32,17 @@ URL: url] autorelease]; } - initWithClass: (Class)class_ { - Class c = [self class]; - [self release]; - @throw [OFNotImplementedException exceptionWithClass: c - selector: _cmd]; + @try { + [self doesNotRecognizeSelector: _cmd]; + abort(); + } @catch (id e) { + [self release]; + @throw e; + } } - initWithClass: (Class)class_ URL: (OFURL*)url {