// // NSError+Additions.m // Perforce // // Created by Adam Czubernat on 14.05.2013. // Copyright (c) 2013 Perforce Software, Inc. All rights reserved. // #import "NSError+Additions.h" @implementation NSError (Additions) + (NSError *)errorWithFormat:(NSString *)format, ... { va_list args; va_start(args, format); NSString *string = [[NSString alloc] initWithFormat:format arguments:args]; va_end(args); return [NSError errorWithDomain:PSDomain code:0 userInfo:@{ NSLocalizedDescriptionKey : string ? : [NSNull null] }]; } - (NSError *)errorByAppendingError:(NSError *)error { NSString *description = [self.userInfo objectForKey:NSLocalizedDescriptionKey]; NSArray *errors = [self.userInfo objectForKey:NSDetailedErrorsKey] ? : @[ self ]; errors = [errors arrayByAddingObject:error]; description = [description stringByAppendingFormat: @"\n%@", error.localizedDescription]; return [NSError errorWithDomain:PSDomain code:0 userInfo:@{ NSLocalizedDescriptionKey : description, NSDetailedErrorsKey : errors, }]; } @end