source: releases/Pester/1.1b7/Source/PSError.m

Last change on this file was 53, checked in by Nicholas Riley, 21 years ago

Updated for Pester 1.1a5 (very limited release).

Pester 1.1a4 was never released.

File size: 1.2 KB
Line 
1//
2// PSError.m
3// Pester
4//
5// Created by Nicholas Riley on Sun Dec 29 2002.
6// Copyright (c) 2002 Nicholas Riley. All rights reserved.
7//
8
9#import "PSError.h"
10
11static NSString * const PSErrorException = @"PSErrorException";
12
13@implementation PSError
14
15+ (PSError *)error;
16{
17 return [[self alloc] init];
18}
19
20- (void)dealloc;
21{
22 [reasons release]; reasons = nil;
23 [operation release]; operation = nil;
24 [super dealloc];
25}
26
27- (NSCountedSet *)reasons;
28{
29 if (reasons == nil)
30 reasons = [[NSCountedSet alloc] initWithCapacity: 2];
31 return reasons;
32}
33
34- (void)addException:(NSException *)exception;
35{
36
37}
38
39- (void)raiseIfNeededForOperation:(NSString *)anOperation count:(unsigned)aCount;
40{
41 if (reasons != nil && [reasons count] > 0) {
42 // NSMutableString *
43 [self autorelease];
44 [NSException raise: PSErrorException
45 format: @"Pester encountered errors while %@ %@."];
46 } else {
47 [self release];
48 }
49}
50
51@end
52
53/* Use cases:
54 - PSAlerts => can't restore one or more alerts, keep the rest
55 -
56
57 Need to add error to initWithPropertyList: protocol, otherwise we can't get back partially-formed objects.
58 - (id)initWithPropertyList:(NSDictionary *)dict error:(PSException **)exception;
59
60 */
Note: See TracBrowser for help on using the repository browser.