Code
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Kode error kanonis untuk gRPC API.
Terkadang beberapa kode error mungkin berlaku. Layanan harus menampilkan kode error paling spesifik yang berlaku. Misalnya, pilih OUT_OF_RANGE
daripada FAILED_PRECONDITION
jika kedua kode tersebut berlaku. Demikian pula, lebih suka NOT_FOUND
atau ALREADY_EXISTS
daripada FAILED_PRECONDITION
.
Enumerasi |
OK |
Bukan error; ditampilkan jika berhasil. Pemetaan HTTP: 200 Oke |
CANCELLED |
Operasi dibatalkan, biasanya oleh pemanggil. Pemetaan HTTP: 499 Permintaan Klien yang Ditutup |
UNKNOWN |
Error tidak diketahui. Misalnya, error ini dapat ditampilkan saat nilai Status yang diterima dari ruang alamat lain berada di ruang error yang tidak diketahui di ruang alamat ini. Selain itu, error yang dilaporkan oleh API yang tidak menampilkan informasi error yang memadai dapat dikonversi menjadi error ini. Pemetaan HTTP: Error Server Internal 500 |
INVALID_ARGUMENT |
Klien menetapkan argumen yang tidak valid. Perhatikan bahwa ini berbeda dengan FAILED_PRECONDITION . INVALID_ARGUMENT menunjukkan argumen yang bermasalah, terlepas dari status sistemnya (misalnya, nama file yang salah). Pemetaan HTTP: 400 Permintaan Tidak Valid |
DEADLINE_EXCEEDED |
Batas waktu berakhir sebelum operasi selesai. Untuk operasi yang mengubah status sistem, error ini dapat ditampilkan bahkan jika operasi telah berhasil dilakukan. Misalnya, respons yang berhasil dari server dapat tertunda untuk waktu yang cukup lama hingga batas waktu berakhir. Pemetaan HTTP: Waktu Tunggu Gateway 504 |
NOT_FOUND |
Beberapa entitas yang diminta (misalnya, file atau direktori) tidak ditemukan. Catatan untuk developer server: jika permintaan ditolak untuk seluruh class pengguna, seperti peluncuran fitur secara bertahap atau daftar yang diizinkan tidak terdokumentasi, NOT_FOUND dapat digunakan. Jika sebuah permintaan ditolak untuk beberapa pengguna dalam class pengguna, seperti kontrol akses berbasis pengguna, PERMISSION_DENIED harus digunakan. Pemetaan HTTP: 404 Tidak Ditemukan |
ALREADY_EXISTS |
Entity yang dicoba dibuat oleh klien (mis., file atau direktori) sudah ada. Pemetaan HTTP: Konflik 409 |
PERMISSION_DENIED |
Pemanggil tidak memiliki izin untuk menjalankan operasi yang ditentukan. PERMISSION_DENIED tidak boleh digunakan untuk penolakan yang disebabkan oleh kehabisan beberapa resource (sebagai gantinya, gunakan RESOURCE_EXHAUSTED untuk error tersebut). PERMISSION_DENIED tidak boleh digunakan jika pemanggil tidak dapat diidentifikasi (sebagai gantinya, gunakan UNAUTHENTICATED untuk error tersebut). Kode error ini tidak menyiratkan bahwa permintaan valid atau entitas yang diminta ada atau memenuhi ketentuan awal lainnya. Pemetaan HTTP: 403 Terlarang |
UNAUTHENTICATED |
Permintaan tidak memiliki kredensial autentikasi yang valid untuk operasi. Pemetaan HTTP: 401 Tidak Sah |
RESOURCE_EXHAUSTED |
Beberapa resource telah habis, mungkin kuota per pengguna, atau mungkin kapasitas keseluruhan sistem file sudah habis. Pemetaan HTTP: 429 Terlalu Banyak Permintaan |
FAILED_PRECONDITION |
Operasi tersebut ditolak karena sistem tidak memiliki status yang diperlukan untuk menjalankan operasi. Misalnya, direktori yang akan dihapus tidak kosong, operasi rmdir diterapkan ke non-direktori, dll. Implementasi layanan dapat menggunakan panduan berikut untuk menentukan antara FAILED_PRECONDITION , ABORTED , dan UNAVAILABLE : (a) Menggunakan UNAVAILABLE jika klien dapat mencoba lagi panggilan yang gagal tersebut. (b) Gunakan ABORTED jika klien harus mencoba lagi di level yang lebih tinggi. Misalnya, jika pengujian dan penetapan yang ditentukan klien gagal, ini menunjukkan bahwa klien harus memulai ulang urutan baca-ubah-tulis. (c) Menggunakan FAILED_PRECONDITION jika klien tidak boleh mencoba lagi hingga status sistem diperbaiki secara eksplisit. Misalnya, jika "rmdir" gagal karena direktori tidak kosong, FAILED_PRECONDITION harus ditampilkan karena klien tidak boleh mencoba lagi kecuali jika file dihapus dari direktori. Pemetaan HTTP: 400 Permintaan Tidak Valid |
ABORTED |
Operasi dibatalkan, biasanya karena masalah serentak seperti kegagalan pemeriksaan pengurut atau pembatalan transaksi. Lihat panduan di atas untuk memutuskan antara FAILED_PRECONDITION , ABORTED , dan UNAVAILABLE . Pemetaan HTTP: Konflik 409 |
OUT_OF_RANGE |
Operasi dicoba melampaui rentang yang valid. Misalnya, mencari atau membaca histori file. Tidak seperti INVALID_ARGUMENT , error ini menunjukkan masalah yang dapat diperbaiki jika status sistem berubah. Misalnya, sistem file 32-bit akan menghasilkan INVALID_ARGUMENT jika diminta untuk membaca pada offset yang tidak berada dalam rentang [0,2^32-1], tetapi akan menghasilkan OUT_OF_RANGE jika diminta untuk membaca dari offset setelah ukuran file saat ini. Sedikit tumpang-tindih antara FAILED_PRECONDITION dan OUT_OF_RANGE . Sebaiknya gunakan OUT_OF_RANGE (error yang lebih spesifik) saat diterapkan sehingga pemanggil yang melakukan iterasi melalui ruang dapat dengan mudah menemukan error OUT_OF_RANGE untuk dideteksi saat mereka selesai. Pemetaan HTTP: 400 Permintaan Tidak Valid |
UNIMPLEMENTED |
Operasi tidak diterapkan atau tidak didukung/diaktifkan dalam layanan ini. Pemetaan HTTP: 501 Tidak Diimplementasikan |
INTERNAL |
Error internal. Artinya beberapa invarian yang diharapkan oleh sistem pokok telah rusak. Kode error ini disediakan untuk error serius. Pemetaan HTTP: Error Server Internal 500 |
UNAVAILABLE |
Saat ini layanan tidak tersedia. Kemungkinan besar ini hanya kondisi sementara, yang dapat dikoreksi dengan mencoba kembali dengan backoff. Perhatikan bahwa tidak selalu aman untuk mencoba kembali operasi non-idempoten. Lihat panduan di atas untuk memutuskan antara FAILED_PRECONDITION , ABORTED , dan UNAVAILABLE . Pemetaan HTTP: 503 Layanan Tidak Tersedia |
DATA_LOSS |
Kehilangan atau kerusakan data yang tidak dapat dipulihkan. Pemetaan HTTP: Error Server Internal 500 |
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2023-06-08 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2023-06-08 UTC."],[[["This documentation outlines the canonical error codes for gRPC APIs, providing a standardized way to handle and interpret errors across different services."],["Each error code has a specific meaning and an associated HTTP mapping for easier integration with existing web infrastructure."],["Services should prioritize returning the most specific error code applicable to a given situation, aiding in accurate diagnosis and troubleshooting."],["The error codes cover a wide range of scenarios, including client errors, server errors, and resource constraints, ensuring comprehensive error handling."],["While some errors may be transient and recoverable through retries, others indicate more serious issues requiring system-level intervention."]]],["gRPC APIs use specific error codes to indicate the outcome of operations. Services should return the most relevant code when multiple codes apply. Codes include `OK` for success and various error types like `CANCELLED`, `UNKNOWN`, `INVALID_ARGUMENT`, `NOT_FOUND`, `PERMISSION_DENIED`, `RESOURCE_EXHAUSTED`, and `UNAVAILABLE`. Others, such as `FAILED_PRECONDITION`, `ABORTED`, and `OUT_OF_RANGE` are used for state-related issues. Each code also has a corresponding HTTP mapping for error communication.\n"]]