오류 정보 NSError
예를 들어 파일을 이동할 때 파일 가져오기 작업 오류:
<span style="background-color: rgb(255, 255, 255);"> <span style="font-size:18px;"> NSError *error =nil;
[[NSFileManager defaultManager]moveItemAtPath:@"/users"toPath:@"/hh"error:&error];
if (error) {
NSLog(@" , error = %@",[error localizedDescription]);
NSLog(@"11........//%d",[error code]);
NSLog(@"11。。。%@",[error domain]);
NSLog(@"11........//%@",[error userInfo]);
NSLog(@"11localizedFailureReason = %@",[error localizedFailureReason]);
}</span></span>
2014-04-23 09:14:16.609 Error Demo[428:60b]
오류 메시지가 있으면, 오류의 로컬화 설명을 인쇄합니다. error = The operation couldn't be completed.(Cocoa error 513.)
2014-04-23 09:14:16.610 Error Demo[428:60b] 11........//513
2014-04-23 09:14:16.611 Error Demo[428:60b] 11...NSCocoaErrorDomain
2014-04-23 09:14:16.635 Error Demo[428:60b] 11........//{
NSDestinationFilePath = "/hh";
NSFilePath = "/users";
NSSourceFilePathErrorKey = "/users";
NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=13\"The operation couldn\U2019t be completed. Permission denied\"";
NSUserStringVariant = (
Move
);
}
2014-04-23 09:14:16.635 Error Demo[428:60b] 11localizedFailureReason = (null)
2. 사용자 정의 오류 정보
일반적으로 다음 문장을 통해 NSError 개체를 사용자 정의할 수 있습니다.
<span style="background-color: rgb(255, 255, 255);"><span style="font-size:18px;">#define CustomErrorDomain @"com.xiaodao.test"
typedef enum {
XDefultFailed = -1000,
XRegisterFailed,
XConnectFailed,
XNotBindedFailed
}CustomErrorFailed;
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:@"test error"forKey:NSLocalizedDescriptionKey];
NSError *err2 = [NSError errorWithDomain:CustomErrorDomain code:XRegisterFailed userInfo:userInfo];
NSLog(@"22 localizedDescription.....%@",[err2 localizedDescription]);
NSLog(@"22........//%d",[err2 code]);
NSLog(@"22。。。%@",[err2 domain]);
NSLog(@"22.....userinfo %@",[err2 userInfo]);</span></span>
2014-04-23 09:14:16.636 Error Demo[428:60b] 22 localizedDescription.....test error
2014-04-23 09:14:16.636 Error Demo[428:60b] 22........//-999
2014-04-23 09:14:16.637 Error Demo[428:60b] 22...com.xiaodao.test
2014-04-23 09:14:16.637 Error Demo[428:60b] 22.....userinfo {
NSLocalizedDescription = "test error";
}
여기서 사용자 정의 오류 도메인 객체CustomErrorDomain은 일반적으로 도메인 이름으로 다시 쓰거나 다른 문자열일 수 있습니다.
코드 오류 표지, 시스템의 코드는 일반적으로 0보다 크고, 사용자 정의 코드는 매거진을 사용할 수 있습니다. (음수를 사용하는 것이 가장 좋지만 반드시 필요한 것은 아닙니다.)
사용자 정보 사용자 정의 오류 정보, NSLocalizedDescriptionKey는 NSError 헤더 파일에 미리 정의된 키입니다. 오류를 표시하는 로컬화 설명
NSError의 localizedDescription 방법을 통해 적절한 값 정보를 얻을 수 있습니다.
3. NSError 헤더 파일 분석
1.NSError 객체에는 주로 세 개의 개인 변수가 있습니다.
오류 도메인(NSInteger):_domain
오류 표시(NSString*): _code
오류 세부 정보(NSDictionary *): _userInfo
일반용_domain 및_코드와 함께 오류 정보를 표시합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.