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