예외

참고: 새로운 애플리케이션을 빌드하는 개발자는 NDB 클라이언트 라이브러리를 사용하는 것이 좋습니다. NDB 클라이언트 라이브러리는 이 클라이언트 라이브러리와 비교할 때 Memcache API를 통한 자동 항목 캐싱과 같은 여러 이점이 있습니다. 현재 이전 DB 클라이언트 라이브러리를 사용 중인 경우 DB에서 NDB로의 마이그레이션 가이드를 참조하세요.

google.appengine.ext.db 패키지는 다음 예외 클래스를 제공합니다.

exception Error()

이 패키지에 있는 모든 예외의 기본 클래스입니다.

exception BadArgumentError()
잘못된 인수가 쿼리 메서드에 제공되었습니다.
exception BadFilterError()
쿼리의 필터 문자열이 잘못되었습니다.
exception BadKeyError()
제공된 키 문자열이 유효한 키가 아닙니다.
exception BadPropertyError()
이름이 문자열이 아니므로, 속성을 만들 수 없습니다.
exception BadQueryError()
쿼리 문자열이 유효한 쿼리가 아닙니다.
exception BadRequestError()
Datastore 서비스에 대한 요청에 잘못된 속성이 한 개 이상 있습니다. Model 서브클래스가 잘못된 구현으로 일부 메서드(예: kind())를 재정의하는 경우에 발생할 수 있습니다.
exception BadValueError()
값이 속성 유형에 대해 유효하지 않으므로, 속성에 값을 할당할 수 없습니다.
exception ConfigurationError()
속성이 올바르게 구성되지 않았습니다.
exception DuplicatePropertyError()
모델 정의에 동일한 이름의 속성이 한 개 이상 있습니다.
exception InternalError()
Datastore 서비스 내부에 오류가 발생했습니다. 이 예외는 반드시 작업이 실패했음을 의미하지는 않습니다.
exception KindError()
애플리케이션이 항목과 일치하지 않는 모델 클래스가 있는 데이터 항목을 사용하려 했습니다.
exception NeedIndexError()
SDK가 색인이 필요한 쿼리에 대해 일치하는 색인을 찾지 못하면 발생합니다. 관리 콘솔을 확인하여 색인과 index.yaml 파일을 관리합니다.
exception NotSavedError()
객체가 Datastore에 저장되어야(놓여져야) 하는 작업이 수행되었지만 객체가 저장되지 않았습니다.
exception PropertyError()
참조된 모델 속성이 데이터 객체에 없습니다.
exception ReferencePropertyResolveError()
ReferenceProperty에서 참조된 모델이 없습니다. 참조를 확인하세요.
exception ReservedWordError()
모델이 이름이 허용되지 않는 속성을 정의합니다. 허용되지 않는 속성 이름을 참조하세요.
exception Rollback()
트랜잭션의 함수가 트랜잭션을 커밋하지 않고 롤백하려고 함을 나타냅니다. 트랜잭션에서 확인되지 않은 예외가 발생하면 트랜잭션이 롤백됩니다. 이 예외 클래스는 함수가 롤백하려 하고 다른 예외가 적용되지 않는 경우에 유용합니다.
exception Timeout()
Datastore 작업이 Datastore 작업에 허용되는 최대 시간을 초과하면 발생합니다. 이 예외는 반드시 작업이 실패했음을 의미하지는 않습니다.
exception TransactionFailedError()
다시 시도한 후에도 트랜잭션 또는 Datastore 작업을 커밋할 수 없습니다. 이 오류는 일반적으로 경합이 심한 경우에 발생합니다. 즉, 데이터가 다른 많은 애플리케이션 인스턴스에서 동시에 업데이트되어 이 인스턴스가 정해진 다시 시도 횟수 내에 트랜잭션을 커밋할 수 없습니다. 트랜잭션을 참조하세요.

google.appengine.runtime.apiproxy_errors 패키지는 다음 예외 클래스를 제공합니다.

exception CapabilityDisabledError()

특정 Datastore 기능을 사용할 수 없으므로 Datastore API 호출이 수행되지 않았음을 나타냅니다.