# dokumentasi Django 2.2.9.dev20191202104323

# Pengecualian Django

Django raises some of its own exceptions as well as standard Python exceptions.

## Pengecualian Inti Django

Kelas-kelas pengecualian inti django ditentukan dalam `django.core.exceptions`.

### `AppRegistryNotReady`

exception `AppRegistryNotReady`

  This exception is raised when attempting to use models before the app loading process, which initializes the ORM, is complete.

### `ObjectDoesNotExist`

exception `ObjectDoesNotExist`

  Kelas dasar untuk pengecualian `DoesNotExist; ``try/except`` untuk `ObjectDoesNotExist` akan menangkap pengecualian `DoesNotExist` untuk semua model.

  Lihat `get()` untuk informasi lebih lanjut pada `ObjectDoesNotExist` dan `DoesNotExist`.

### `EmptyResultSet`

exception `EmptyResultSet`

  `EmptyResultSet` may be raised during query generation if a query won't return any results. Most Django projects won't encounter this exception, but it might be useful for implementing custom lookups and expressions.

### `FieldDoesNotExist`

exception `FieldDoesNotExist`

  The `FieldDoesNotExist` exception is raised by a model's `_meta.get_field()` method when the requested field does not exist on the model or on the model's parents.

### `MultipleObjectsReturned`

exception `MultipleObjectsReturned`

  The `MultipleObjectsReturned` exception is raised by a query if only one object is expected, but multiple objects are returned. A base version of this exception is provided in `django.core.exceptions`; each model class contains a subclassed version that can be used to identify the specific object type that has returned multiple objects.

  Lihat `get()` untuk informasi lebih lanjut.

### `SuspiciousOperation`

exception `SuspiciousOperation`

  The `SuspiciousOperation` exception is raised when a user has performed an operation that should be considered suspicious from a security perspective, such as tampering with a session cookie. Subclasses of `SuspiciousOperation` include:

  - `DisallowedHost`
  - `DisallowedModelAdminLookup`
  - `DisallowedModelAdminToField`
  - `DisallowedRedirect`
  - `InvalidSessionKey`
  - `RequestDataTooBig`
  - `SuspiciousFileOperation`
  - `SuspiciousMultipartForm`
  - `SuspiciousSession`
  - `TooManyFieldsSent`

  If a `SuspiciousOperation` exception reaches the WSGI handler level it is logged at the `Error` level and results in a `HttpResponseBadRequest`. See the logging documentation for more information.

### `PermissionDenied`

exception `PermissionDenied`

  Pengecualian `PermissionDenied` dimunculkan ketika seorang pengguna tidak memiliki perizinan untuk melakukan tindakan diminta.

### `ViewDoesNotExist`

exception `ViewDoesNotExist`

  Pengecualian `ViewDoesNotExist` dimunculkan oleh `django.urls` ketika tampilan diminta tidak ada.

### `MiddlewareNotUsed`

exception `MiddlewareNotUsed`

  Pengecualian `MiddlewareNotUsed` dimunculkan ketika sebuah middleware tidak digunakan dalam konfigurasi peladen.

### `ImproperlyConfigured`

exception `ImproperlyConfigured`

  The `ImproperlyConfigured` exception is raised when Django is somehow improperly configured -- for example, if a value in `settings.py` is incorrect or unparseable.

### `FieldError`

exception `FieldError`

  Pengecualian `FieldError` dimunculkan ketika ada masalah dengan bidang model. Ini terjadi untuk beberapa alasan:

  - Sebuah bidang dalam sebuah model bertabrakan dengan sebuah bidang dari nama sama dari sebuah kelas dasar abstrak
  - Sebuah putaran tidak terbatasdisebutkan oleh pengurutan
  - Sebuah kata kunci tidak dapat diuraikan dari saringan prameter
  - Sebuah bidang tidak dapat ditentukan dari katakunci dalam parameter permintaan
  - Gabungan tidak diizinkan pada bidang tertentu
  - Nama bidang tidak sah
  - Sebuah permintaan mengandung argumen order_by tidak sah

### `ValidationError`

exception `ValidationError`

  The `ValidationError` exception is raised when data fails form or model field validation. For more information about validation, see Form and Field Validation, Model Field Validation and the Validator Reference.

#### `NON_FIELD_ERRORS`

`NON_FIELD_ERRORS`

`ValidationError`s that don't belong to a particular field in a form or model are classified as `NON_FIELD_ERRORS`. This constant is used as a key in dictionaries that otherwise map fields to their respective list of errors.

## Pengecualian Penyelesai URL

Pengecualian Penyelesai URL ditentukan dalam `django.urls`.

### `Resolver404`

exception `Resolver404`

  Pengeculian `Resolver404` dimunculkan dengan `resolve()` jika jalur dilewatkan ke `resolve()` tidak memetakan ke tampilan. Itu adalah sebuah subkelas dari `django.http.Http404`.

### `NoReverseMatch`

exception `NoReverseMatch`

  Pengecualian `NoReverseMatch` dimunculkan dengan `django.urls` ketika URL cocok dalam URLconf anda tidak dapat dicirikan berdasarkan pada parameter disokong.

## Pengecualian Basisdata

Pengecualian basisdata mungkin diimpor dari `django.db`.

Django membungkus pengecualian basisdata standar sehingga kode Django anda mempunyai jaminan penerapan umum pada kelas-kelas ini.

exception `Error`

exception `InterfaceError`

exception `DatabaseError`

exception `DataError`

exception `OperationalError`

exception `IntegrityError`

exception `InternalError`

exception `ProgrammingError`

exception `NotSupportedError`

Pembungkus Django untuk pengecualian basisdata berperilaku tepatnya sama seperti pengecualian basisdata pokok. Lihat:pep:249, Spesifikasi API Basisdata Python v2.0, untuk informasi lebih jauh.

As per PEP 3134, a `__cause__` attribute is set with the original (underlying) database exception, allowing access to any additional information provided.

exception `models.``ProtectedError`

Raised to prevent deletion of referenced objects when using `django.db.models.PROTECT`. `models.ProtectedError` is a subclass of `IntegrityError`.

## Pengecualian Http

Pengecualian Http mungkin diimpor dari `django.http`.

### `UnreadablePostError`

exception `UnreadablePostError`

  `UnreadablePostError` dimunculkan ketika pengguna membatalkan unggahan.

## Pengecualian Transaksi

Pengecualian transaksi ditentukan dalam `django.db.transaction`.

### `TransactionManagementError`

exception `TransactionManagementError`

  `TransactionManagementError` dimunculkan untuk apapun dan semua masalah terkait pada transaksi basisdata.

## Pengecualian Kerangka Kerja Percobaan

Pengecualian disediakan oleh paket `django.test`.

### `RedirectCycleError`

exception `client.``RedirectCycleError`

  `RedirectCycleError` is raised when the test client detects a loop or an overly long chain of redirects.

## Pengecualian Python

Django raises built-in Python exceptions when appropriate as well. See the Python documentation for further information on the Built-in Exceptions.