Exceptions

Note: Developers building new applications are strongly encouraged to use the NDB Client Library, which has several benefits compared to this client library, such as automatic entity caching via the Memcache API. If you are currently using the older DB Client Library, read the DB to NDB Migration Guide

The google.appengine.ext.db package provides the following exception classes:

exception Error()

This is the base class for all exceptions in this package.

exception BadArgumentError()
A bad argument was given to a query method.
exception BadFilterError()
A filter string in the query is invalid.
exception BadKeyError()
The provided key string is not a valid key.
exception BadPropertyError()
The property could not be created because its name is not a string.
exception BadQueryError()
The query string is not a valid query.
exception BadRequestError()
The request to the datastore service has one or more invalid properties. This is possible if a subclass of Model overrides some methods (such as kind()) with an incorrect implementation.
exception BadValueError()
The property could not be assigned a value because the value is invalid for the property type.
exception ConfigurationError()
A property is not configured correctly.
exception DuplicatePropertyError()
A model definition has more than one property with the same name.
exception InternalError()
There was an error internal to the datastore service. This exception does not necessarily mean that the operation failed.
exception KindError()
The application attempted to use a data entity with a model class that does not match the entity.
exception NeedIndexError()
Raised when the SDK does not find a matching index for a query that requires one. Check the Administration Console to manage your indexes and your index.yaml file.
exception NotSavedError()
An action was performed that requires the object to have been saved (put) to the datastore, but the object is not saved.
exception PropertyError()
The referenced model property does not exist on the data object.
exception ReferencePropertyResolveError()
The model referenced by a ReferenceProperty does not exist. See References.
exception ReservedWordError()
A model defines a property whose name is disallowed. See Disallowed Property Names.
exception Rollback()
Indicates that a function in a transaction wants to roll back the transaction instead of committing it. Any uncaught exception in a transaction will cause the transaction to roll back. This exception class is for convenience, when a function wants to roll back and no other exception applies.
exception Timeout()
Raised when the datastore operation exceeds the maximum amount of time allowed for datastore operations. This exception does not necessarily mean that the operation failed.
exception TransactionFailedError()
The transaction or datastore operation could not be committed, even after retrying. This is usually caused by a high rate of contention: The data is being updated by many other application instances simultaneously, and this instance could not commit its transaction within a fixed number of retries. See Transactions.

The google.appengine.runtime.apiproxy_errors package provides the following exception classes:

exception CapabilityDisabledError()

Indicates that a datastore api call was not performed as that particular datastore functionality is not available.