
UConverter::getErrorCode() 메서드는 UConverter::convert() 메서드에서 오류가 발생한 경우에 사용할 수 있습니다.
UConverter::convert() 메서드에서 오류가 발생한 경우, getErrorCode() 메서드를 호출하여 오류 코드를 얻을 수 있습니다.
getErrorCode() 메서드는 UConverter 클래스의 오류 코드를 반환합니다.
UConverter 클래스의 오류 코드는 다음과 같습니다.
- UCONV_ERROR_NONE : 성공
- UCONV_ERROR_INVALID_ARGUMENT : 유효하지 않은 인자가 전달된 경우
- UCONV_ERROR_UNSUPPORTED : 지원되지 않는 기능이 호출된 경우
- UCONV_ERROR_INVALID_STATE : 유효하지 않은 상태로 호출된 경우
- UCONV_ERROR_OUT_OF_MEMORY : 메모리가 부족한 경우
- UCONV_ERROR_CONVERSION_FAILED : 변환 실패
예를 들어, UConverter::convert() 메서드에서 오류가 발생한 경우, 다음과 같이 getErrorCode() 메서드를 호출하여 오류 코드를 얻을 수 있습니다.
#hostingforum.kr
cpp
UErrorCode status = UCONV_ERROR_NONE;
UConverter* converter = uconv_open("UTF-8", "EUC-KR", &status);
if (converter != NULL) {
UChar* input = (UChar*)"Hello";
UChar* output = (UChar*)malloc(10 * sizeof(UChar));
int32_t length = uconv_convert(converter, input, 5, output, 10, &status);
if (status == UCONV_ERROR_NONE) {
// 변환 성공
} else {
// 오류 코드 얻기
UErrorCode errorCode = uconv_getErrorCode(converter);
if (errorCode == UCONV_ERROR_INVALID_ARGUMENT) {
// 유효하지 않은 인자가 전달된 경우
} else if (errorCode == UCONV_ERROR_UNSUPPORTED) {
// 지원되지 않는 기능이 호출된 경우
} else if (errorCode == UCONV_ERROR_INVALID_STATE) {
// 유효하지 않은 상태로 호출된 경우
} else if (errorCode == UCONV_ERROR_OUT_OF_MEMORY) {
// 메모리가 부족한 경우
} else if (errorCode == UCONV_ERROR_CONVERSION_FAILED) {
// 변환 실패
}
}
free(output);
uconv_close(converter);
}
2025-06-11 10:20