@@ -27,31 +27,42 @@ * @brief An exception indicating that unlocking a lock failed. */ @interface OFUnlockFailedException: OFException { id _lock; + int _errNo; } /*! * @brief The lock which could not be unlocked. */ @property OF_NULLABLE_PROPERTY (readonly, nonatomic) id lock; +/*! + * @brief The errno of the error that occurred. + */ +@property (readonly, nonatomic) int errNo; + /*! * @brief Creates a new, autoreleased unlock failed exception. * * @param lock The lock which could not be unlocked + * @param errNo The errno of the error that occurred * @return A new, autoreleased unlock failed exception */ -+ (instancetype)exceptionWithLock: (nullable id )lock; ++ (instancetype)exceptionWithLock: (nullable id )lock + errNo: (int)errNo; /*! * @brief Initializes an already allocated unlock failed exception. * * @param lock The lock which could not be unlocked + * @param errNo The errno of the error that occurred * @return An initialized unlock failed exception */ - (instancetype)initWithLock: (nullable id )lock - OF_DESIGNATED_INITIALIZER; + errNo: (int)errNo OF_DESIGNATED_INITIALIZER; + +- (instancetype)init OF_UNAVAILABLE; @end OF_ASSUME_NONNULL_END