[ English | 中文 (简体, 中国) | русский | português (Brasil) | नेपाली | 한국어 (대한민국) | Indonesia | français | español | esperanto | English (United Kingdom) | Deutsch ]
Horizon Exceptions (pengecualian horizon)¶
Pengecualian yang diajukan oleh kode Horizon dan mesin untuk menanganinya.
-
exception
horizon.exceptions.
AlreadyExists
(name, resource_type)[sumber]¶ Sumber daya API yang coba dibuat sudah ada.
-
exception
horizon.exceptions.
BadRequest
[sumber]¶ Kesalahan umum untuk mengganti semua kesalahan "-Jenis API" BadRequest.
-
exception
horizon.exceptions.
ConfigurationError
[sumber]¶ Pengecualian akan dinaikkan bila pengaturan tidak valid telah disediakan.
-
exception
horizon.exceptions.
Conflict
[sumber]¶ Kesalahan umum untuk mengganti semua kesalahan API "Conflict" -type.
-
exception
horizon.exceptions.
GetFileError
(name, resource_type)[sumber]¶ Pengecualian akan dinaikkan ketika nilai get_file tidak diharapkan.
Nilai yang diharapkan dimulai dengan https:// atau http://. Kalau tidak, pengecualian ini akan dimunculkan.
-
exception
horizon.exceptions.
HandledException
(wrapped)[sumber]¶ Digunakan secara internal untuk melacak pengecualian yang telah ditangani.
Ini digunakan untuk melacak pengecualian yang telah melalui
horizon.exceptions.handle()
lebih dari satu kali.
-
exception
horizon.exceptions.
HorizonException
[sumber]¶ Kelas pengecualian dasar untuk membedakan kelas pengecualian kami sendiri.
-
class
horizon.exceptions.
HorizonReporterFilter
[sumber]¶ Filter laporan kesalahan yang selalu aktif, bahkan dalam mode DEBUG.
-
exception
horizon.exceptions.
Http302
(location, message=None)[sumber]¶ Pengecualian digunakan untuk mengarahkan ulang pada tingkat middleware.
Kelas kesalahan ini yang dapat dibangkitkan dari dalam handler menyebabkan bailout dini dan redirect pada level middleware.
-
exception
horizon.exceptions.
NotAuthenticated
[sumber]¶ Dibesarkan ketika pengguna mencoba membuat permintaan dan mereka tidak masuk.
HorizonMiddleware
yang disertakan menangkap``NotAuthenticated`` dan menanganinya dengan baik dengan menampilkan pesan kesalahan dan mengarahkan pengguna ke halaman login.
-
exception
horizon.exceptions.
NotAuthorized
[sumber]¶ Pengguna mencoba mengakses sumber daya tanpa izin yang memadai.
Dibesarkan setiap kali pengguna mencoba mengakses sumber yang tidak memiliki akses permission-based ke (seperti ketika gagal dekorator
require_perms()
).The included
HorizonMiddleware
catchesNotAuthorized
and handles it gracefully by displaying an error message and redirecting the user to a login page.
-
exception
horizon.exceptions.
NotAvailable
[sumber]¶ Pengecualian akan dinaikkan ketika ada sesuatu yang tidak tersedia.
-
exception
horizon.exceptions.
NotFound
[sumber]¶ Kesalahan umum untuk mengganti semua kesalahan API "Not Found"-type.
-
exception
horizon.exceptions.
RecoverableError
[sumber]¶ Kesalahan umum untuk mengganti kesalahan API "Recoverable"-type apa pun.
-
exception
horizon.exceptions.
ServiceCatalogException
(service_name)[sumber]¶ Layanan yang diminta tidak tersedia di
ServiceCatalog
.ServiceCatalog
diambil dari Keystone.
-
exception
horizon.exceptions.
WorkflowError
[sumber]¶ Pengecualian akan dinaikkan jika ada yang salah dalam alur kerja.
-
exception
horizon.exceptions.
WorkflowValidationError
[sumber]¶ Pengecualian muncul selama validasi alur kerja.
Itu dibangkitkan jika data yang diperlukan hilang, atau data yang ada tidak valid.
-
horizon.exceptions.
handle
(request, message=None, redirect=None, ignore=False, escalate=False, log_level=None, force_log=None, details=None)[sumber]¶ Penanganan kesalahan terpusat untuk Horizon.
Karena Horizon mengkonsumsi begitu banyak API berbeda dengan jenis
Exception
yang sangat berbeda, maka perlu memiliki tempat terpusat untuk menangani pengecualian yang mungkin dinaikkan.Pengecualian secara kasar dibagi menjadi 3 jenis:
UNAUTHORIZED
: Kesalahan yang diakibatkan oleh masalah otentikasi atau otorisasi. Hasil ini di-logout dan dikirim ke layar login.NOT_FOUND
: Kesalahan yang dihasilkan dari objek yang tidak dapat ditemukan melalui API. Ini umumnya menghasilkan pesan kesalahan yang dihadapi pengguna, tetapi sebaliknya dikembalikan ke aliran kode normal (normal code flow). Opsional nilai redirect dapat diteruskan ke handler error sehingga pengguna kembali ke tampilan yang berbeda dari yang diminta selain pesan kesalahan.RECOVERABLE
: Kesalahan umum Generic yang menghasilkan pesan yang dihadapi pengguna tetapi langsung kembali ke aliran kode reguler.
Semua pengecualian lainnya menggelembung (bubble) tumpukan seperti biasa kecuali argumen
ignore
dilewatkan sebagaiTrue
, dalam hal ini hanya kesalahan yang tidak dikenali yang menggelembung.Jika pengecualian tidak dimunculkan kembali, kelas pengecualian pembungkus (wrapper exception class) yang sesuai yang menunjukkan jenis pengecualian yang ditemukan akan dikembalikan. Jika detailnya None (default), ambil dari pengecualian sys.exc_info. Jika detailnya adalah string lain, gunakan string itu secara eksplisit atau jika detailnya kosong, sembunyikan.