Python 2.7 has reached end of support
and will be
deprecated
on January 31, 2026. After deprecation, you won't be able to deploy Python 2.7
applications, even if your organization previously used an organization policy to
re-enable deployments of legacy runtimes. Your existing Python
2.7 applications will continue to run and receive traffic after their
deprecation date. We recommend that
you
migrate to the latest supported version of Python.
Exceptions
Stay organized with collections
Save and categorize content based on your preferences.
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.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-29 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eDevelopers are highly recommended to utilize the NDB Client Library for new applications due to its enhanced features like automatic entity caching.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egoogle.appengine.ext.db\u003c/code\u003e package offers a range of exception classes to handle various errors related to datastore operations, including issues with arguments, filters, keys, properties, and queries.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egoogle.appengine.runtime.apiproxy_errors\u003c/code\u003e package includes the \u003ccode\u003eCapabilityDisabledError\u003c/code\u003e exception, which signals when a specific datastore functionality is not accessible.\u003c/p\u003e\n"],["\u003cp\u003eSeveral exceptions in \u003ccode\u003egoogle.appengine.ext.db\u003c/code\u003e highlight potential issues in model definition and data consistency, such as \u003ccode\u003eDuplicatePropertyError\u003c/code\u003e, \u003ccode\u003eKindError\u003c/code\u003e, \u003ccode\u003ePropertyError\u003c/code\u003e, \u003ccode\u003eReferencePropertyResolveError\u003c/code\u003e, and \u003ccode\u003eReservedWordError\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe package provides specific error handling for transaction-related issues with classes like \u003ccode\u003eRollback\u003c/code\u003e, and \u003ccode\u003eTransactionFailedError\u003c/code\u003e to help in situations where a transaction needs to be rolled back, or a transaction could not be committed.\u003c/p\u003e\n"]]],[],null,["# Exceptions\n\n**Note:**\nDevelopers building new applications are **strongly encouraged** to use the\n[NDB Client Library](/appengine/docs/legacy/standard/python/ndb), which has several benefits\ncompared to this client library, such as automatic entity caching via the Memcache\nAPI. If you are currently using the older DB Client Library, read the\n[DB to NDB Migration Guide](/appengine/docs/legacy/standard/python/ndb/db_to_ndb)\n\nThe `google.appengine.ext.db` package provides the following exception classes:\n\nexception Error()\n\n: This is the base class for all exceptions in this package.\n\nexception BadArgumentError()\n: A bad argument was given to a query method.\n\nexception BadFilterError()\n: A filter string in the query is invalid.\n\nexception BadKeyError()\n: The provided key string is not a valid key.\n\nexception BadPropertyError()\n: The property could not be created because its name is not a string.\n\nexception BadQueryError()\n: The query string is not a valid query.\n\nexception BadRequestError()\n: The request to the datastore service has one or more invalid properties. This is possible if a subclass of [Model](/appengine/docs/legacy/standard/python/datastore/modelclass) overrides some methods (such as [kind()](/appengine/docs/legacy/standard/python/datastore/modelclass#Model_kind)) with an incorrect implementation.\n\nexception BadValueError()\n: The property could not be assigned a value because the value is invalid for the property type.\n\nexception ConfigurationError()\n: A property is not configured correctly.\n\nexception DuplicatePropertyError()\n: A model definition has more than one property with the same name.\n\nexception InternalError()\n: There was an error internal to the datastore service. This exception does not necessarily mean that the operation failed.\n\nexception KindError()\n: The application attempted to use a data entity with a model class that does not match the entity.\n\nexception NeedIndexError()\n: Raised when the SDK does not find a matching index for a query that requires one. Check the [Administration Console](/appengine/docs/adminconsole) to manage your indexes and your [index.yaml](/appengine/docs/legacy/standard/python/config/indexconfig#creating_datastore_indexes) file.\n\nexception NotSavedError()\n: An action was performed that requires the object to have been saved (put) to the datastore, but the object is not saved.\n\nexception PropertyError()\n: The referenced model property does not exist on the data object.\n\nexception ReferencePropertyResolveError()\n: The model referenced by a [ReferenceProperty](/appengine/docs/legacy/standard/python/datastore/typesandpropertyclasses#ReferenceProperty) does not exist. See [References](/appengine/docs/legacy/standard/python/datastore/datamodeling#References).\n\nexception ReservedWordError()\n: A model defines a property whose name is disallowed. See [Disallowed Property Names](/appengine/docs/legacy/standard/python/datastore/modelclass#Disallowed_Property_Names).\n\nexception Rollback()\n: 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.\n\nexception Timeout()\n: 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.\n\nexception TransactionFailedError()\n: 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](/appengine/docs/legacy/standard/python/datastore/transactions).\n\nThe `google.appengine.runtime.apiproxy_errors` package provides the following exception classes:\n\nexception CapabilityDisabledError()\n\n: Indicates that a datastore api call was not performed as that particular datastore functionality is not available."]]