---
title: "Pengecualian Django"
version: 2.2
locale: id
source: https://docs.djangoproject.com/id/2.2/ref/exceptions/
canonical: https://djangodocs.dev/id/2.2/ref/exceptions/
---
# 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](/id/2.2/ref/applications/#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`](/id/2.2/ref/models/instances/#django.db.models.Model.DoesNotExist) untuk semua model.

Lihat [`get()`](/id/2.2/ref/models/querysets/#django.db.models.query.QuerySet.get) untuk informasi lebih lanjut pada [`ObjectDoesNotExist`](#django.core.exceptions.ObjectDoesNotExist) dan [`DoesNotExist`](/id/2.2/ref/models/instances/#django.db.models.Model.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`](#django.core.exceptions.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`](#module-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()`](/id/2.2/ref/models/querysets/#django.db.models.query.QuerySet.get) untuk informasi lebih lanjut.

### `SuspiciousOperation`

#### `exception SuspiciousOperation`

The [`SuspiciousOperation`](#django.core.exceptions.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`](/id/2.2/ref/request-response/#django.http.HttpResponseBadRequest). See the [logging
documentation](/id/2.2/topics/logging/) for more information.

### `PermissionDenied`

#### `exception PermissionDenied`

Pengecualian [`PermissionDenied`](#django.core.exceptions.PermissionDenied) dimunculkan ketika seorang pengguna tidak memiliki perizinan untuk melakukan tindakan diminta.

### `ViewDoesNotExist`

#### `exception ViewDoesNotExist`

Pengecualian [`ViewDoesNotExist`](#django.core.exceptions.ViewDoesNotExist) dimunculkan oleh [`django.urls`](/id/2.2/ref/urlresolvers/#module-django.urls) ketika tampilan diminta tidak ada.

### `MiddlewareNotUsed`

#### `exception MiddlewareNotUsed`

Pengecualian [`MiddlewareNotUsed`](#django.core.exceptions.MiddlewareNotUsed) dimunculkan ketika sebuah middleware tidak digunakan dalam konfigurasi peladen.

### `ImproperlyConfigured`

#### `exception ImproperlyConfigured`

The [`ImproperlyConfigured`](#django.core.exceptions.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`](#django.core.exceptions.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`](#django.core.exceptions.ValidationError) exception is raised when data fails form or
model field validation. For more information about validation, see
[Form and Field Validation](/id/2.2/ref/forms/validation/),
[Model Field Validation](/id/2.2/ref/models/instances/#validating-objects) and the
[Validator Reference](/id/2.2/ref/validators/).

#### `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`](#django.urls.Resolver404) dimunculkan dengan [`resolve()`](/id/2.2/ref/urlresolvers/#django.urls.resolve) jika jalur dilewatkan ke `resolve()` tidak memetakan ke tampilan. Itu adalah sebuah subkelas dari [`django.http.Http404`](/id/2.2/topics/http/views/#django.http.Http404).

### `NoReverseMatch`

#### `exception NoReverseMatch`

Pengecualian [`NoReverseMatch`](#django.urls.NoReverseMatch) dimunculkan dengan [`django.urls`](/id/2.2/ref/urlresolvers/#module-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**](https://peps.python.org/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`](/id/2.2/ref/models/fields/#django.db.models.PROTECT). [`models.ProtectedError`](#django.db.models.ProtectedError) is a subclass
of [`IntegrityError`](#django.db.IntegrityError).

## Pengecualian Http

Pengecualian Http mungkin diimpor dari `django.http`.

### `UnreadablePostError`

#### `exception UnreadablePostError`

[`UnreadablePostError`](#django.http.UnreadablePostError) dimunculkan ketika pengguna membatalkan unggahan.

## Pengecualian Transaksi

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

### `TransactionManagementError`

#### `exception TransactionManagementError`

[`TransactionManagementError`](#django.db.transaction.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`](#django.test.client.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](https://docs.python.org/3/library/exceptions.html#bltin-exceptions).
