@@ -13,16 +13,16 @@ * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" + +#include #import "OFInvalidArgumentException.h" #import "OFString.h" -#import "OFNotImplementedException.h" - #import "common.h" @implementation OFInvalidArgumentException + (instancetype)exceptionWithClass: (Class)class_ selector: (SEL)selector_ @@ -31,14 +31,17 @@ selector: selector_] 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_ selector: (SEL)selector_ {