본문으로 건너뛰기

Error code

Vehicle SDK가 제공하는 비동기 API는 onCompleteonFailed 콜백으로 결과를 전달합니다. 앱에서는 onFailed로 받은 ExceptionVehicleException이면 errorCodeErrorCode 값을 확인합니다. 모든 onFailedVehicleException은 아닐 수 있습니다.

  • onFailed 시그니처: Get/Set APIs, checkXXXCapabilities, VehicleListener는 모두 Kotlin 표준 Exception을 사용합니다. ErrorCode가 콜백 인자로 직접 전달되지는 않습니다.
  • ErrorCode 정의: ai.pleos.playground.vehicle.constant 패키지의 enum. Vehicle SDK 내부 오류 분류에 쓰이며, 공개 API에서는 VehicleException.errorCode로 노출됩니다.

사전에 checkXXXCapabilities로 미지원 호출을 줄이고, 퍼미션 오류는 Permission을 확인하세요.

오류 전달 흐름

onFailed 처리 예시

door.getCurrentDoorPosition(
area = DoorArea(DoorValue.ROW_1_LEFT),
onComplete = { pos -> },
onFailed = { e ->
if (e is VehicleException) {
when (e.errorCode) {
ErrorCode.ERROR_NOT_SUPPORTED_PROPERTY,
ErrorCode.ERROR_NOT_SUPPORTED_AREA -> { /* UI 비활성 */ }
ErrorCode.ERROR_SECURITY_PERMISSION -> { /* 매니페스트 퍼미션 확인 */ }
ErrorCode.ERROR_SERVICE_CONNECTION_FAILURE,
ErrorCode.ERROR_INTERNAL_SERVICE -> { /* initialize·재시도 */ }
else -> Log.e("Vehicle API 오류: ${e.errorCode}${e.message}")
}
} else {
Log.e("Vehicle API 오류: ${e.message}")
}
}
)

ErrorCode 목록

ErrorCode설명권장 처리
ERROR_NOT_SUPPORTED_PROPERTY해당 속성(기능) 미지원UI 비활성·대체 흐름
ERROR_NOT_SUPPORTED_AREA해당 영역 미지원영역 선택 변경
ERROR_NOT_SUPPORTED_VALUE_TYPE지원하지 않는 값 타입파라미터·타입 재확인
ERROR_SECURITY_PERMISSION퍼미션 부족Permission·@RequiresPermission 확인
ERROR_SERVICE_CONNECTION_FAILUREVehicle 서비스 연결 실패initialize()·에뮬레이터 상태 확인
ERROR_INTERNAL_SERVICE내부 서비스 오류재시도·일시 오류 안내
ERROR_DRIVING_RESTRICTED주행 중 기능 제한주행 제한 안내
ERROR_EMPTY_RESULT결과 없음빈 상태 UI 처리
ERROR_UNDEFINED정의되지 않은 오류로그·재시도