mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 04:57:03 +00:00
100 lines
3.1 KiB
Plaintext
100 lines
3.1 KiB
Plaintext
/*
|
|
* CPError.j
|
|
* Foundation
|
|
*
|
|
* Created by Alexander Ljungberg.
|
|
* Copyright 2013, SlevenBits Ltd.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
@import "CPDictionary.j"
|
|
@import "CPObject.j"
|
|
@import "CPString.j"
|
|
|
|
CPCappuccinoErrorDomain = CPCocoaErrorDomain = @"CPCappuccinoErrorDomain";
|
|
// CPPOSIXErrorDomain = @"CPPOSIXErrorDomain";
|
|
// CPOSStatusErrorDomain = @"CPOSStatusErrorDomain";
|
|
|
|
CPUnderlyingErrorKey = @"CPUnderlyingErrorKey";
|
|
|
|
CPLocalizedDescriptionKey = @"CPLocalizedDescriptionKey";
|
|
CPLocalizedFailureReasonErrorKey = @"CPLocalizedFailureReasonErrorKey";
|
|
CPLocalizedRecoverySuggestionErrorKey = @"CPLocalizedRecoverySuggestionErrorKey";
|
|
CPLocalizedRecoveryOptionsErrorKey = @"CPLocalizedRecoveryOptionsErrorKey";
|
|
CPRecoveryAttempterErrorKey = @"CPRecoveryAttempterErrorKey";
|
|
CPHelpAnchorErrorKey = @"CPHelpAnchorErrorKey";
|
|
|
|
CPStringEncodingErrorKey = @"CPStringEncodingErrorKey";
|
|
CPURLErrorKey = @"CPURLErrorKey";
|
|
CPFilePathErrorKey = @"CPFilePathErrorKey";
|
|
|
|
|
|
@implementation CPError : CPObject
|
|
{
|
|
CPInteger _code @accessors(property=code, readonly);
|
|
CPString _domain @accessors(property=domain, readonly);
|
|
CPDictionary _userInfo @accessors(property=userInfo, readonly);
|
|
}
|
|
|
|
+ (id)errorWithDomain:(CPString)aDomain code:(CPInteger)aCode userInfo:(CPDictionary)aDict
|
|
{
|
|
return [[CPError alloc] initWithDomain:aDomain code:aCode userInfo:aDict];
|
|
}
|
|
|
|
- (id)initWithDomain:(CPString)aDomain code:(CPInteger)aCode userInfo:(CPDictionary)aDict
|
|
{
|
|
if (self = [super init])
|
|
{
|
|
_domain = aDomain;
|
|
_code = aCode;
|
|
_userInfo = aDict;
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
- (CPString)localizedDescription
|
|
{
|
|
return [_userInfo objectForKey:CPLocalizedDescriptionKey];
|
|
}
|
|
|
|
- (CPString)localizedFailureReason
|
|
{
|
|
return [_userInfo objectForKey:CPLocalizedFailureReasonErrorKey];
|
|
}
|
|
|
|
- (CPArray)localizedRecoveryOptions
|
|
{
|
|
return [_userInfo objectForKey:CPLocalizedRecoveryOptionsErrorKey];
|
|
}
|
|
|
|
- (CPString)localizedRecoverySuggestion
|
|
{
|
|
return [_userInfo objectForKey:CPLocalizedRecoverySuggestionErrorKey];
|
|
}
|
|
|
|
- (id)recoveryAttempter
|
|
{
|
|
return [_userInfo objectForKey:CPRecoveryAttempterErrorKey];
|
|
}
|
|
|
|
- (CPString)description
|
|
{
|
|
return [CPString stringWithFormat:@"Error Domain=%@ Code=%d UserInfo=%p %@", _domain, _code, _userInfo, [self localizedDescription]];
|
|
}
|
|
|
|
@end
|