[ 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.