Gagal dengan Aman, Jangan Pernah Macet
Lindungi aplikasi dari batas waktu dan pengecualian yang tidak tertangani.
Gagal dengan Aman, Jangan Pernah Macet adalah pelajaran MCP Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar MCP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus MCP Academy mencakup 4 pelajaran total.
Alat yang Macet Lebih Buruk daripada Alat yang Gagal
Alat yang melaporkan kesalahan dengan jelas memungkinkan model melanjutkan. Alat yang macet membekukan seluruh pemanggilan, jadi selalu rancang alat agar selesai tepat waktu.
Tangkap Hal yang Tidak Terduga
Bungkus pekerjaan yang berisiko agar pengecualian tak terduga menjadi kesalahan yang bersih, bukan kerusakan. Server tetap aktif dan model mengetahui apa yang gagal.
try:
data = parse(raw)
except Exception as e:
raise ValueError("could not parse input")Selalu Tetapkan Batas Waktu
Setiap pemanggilan jaringan atau eksternal memerlukan batas waktu. Tanpanya, layanan hulu yang lambat dapat membuat alat Anda terbuka tanpa batas dan menghentikan klien.
import httpx
r = httpx.get(url, timeout=10.0)Utamakan Async untuk I/O
Alat Async memungkinkan satu permintaan yang lambat menunggu tanpa memblokir semuanya, sehingga server Anda tetap melayani pemanggilan lain sementara itu.
@mcp.tool()
async def fetch(url: str) -> str:
async with httpx.AsyncClient() as c:
r = await c.get(url, timeout=10)Hormati Pembatalan
Jika klien membatalkan, segera hentikan proses. Menghormati pembatalan membebaskan sumber daya dan mencegah pekerjaan yang tidak lagi ditunggu siapa pun.
Batasi Pengulangan dan Percobaan Ulang
Batasi setiap pengulangan atau percobaan ulang. Percobaan ulang tanpa batas pada API yang gagal dapat berjalan selamanya, jadi tetapkan jumlah percobaan maksimum lalu hentikan dengan baik.
for attempt in range(3):
if try_call():
breakLepaskan Semua yang Anda Buka
Gunakan blok with atau finally agar file dan koneksi selalu ditutup, bahkan saat kesalahan terjadi di tengah fungsi.
with open(path) as f:
return f.read()Turunkan Fungsionalitas dengan Anggun
Saat sebagian pekerjaan gagal, kembalikan hasil yang tersedia disertai catatan, bukan tanpa hasil sama sekali. Hasil sebagian tetap membantu model mengambil keputusan.
Catat Kegagalan di Sisi Server
Catat detail lengkap dalam catatan Anda sambil hanya mengirimkan ringkasan yang aman kepada model. Anda dapat melakukan debug tanpa membocorkan detail internal.
Satu Kerusakan Tidak Seharusnya Menghentikan Server
Satu pemanggilan yang buruk tidak boleh menghentikan proses. Mengisolasi kegagalan untuk setiap alat membuat semua kemampuan lainnya tetap tersedia bagi klien.
Selalu Kembalikan Sesuatu
Setiap jalur dalam alat Anda harus berakhir dengan sebuah respons, baik berhasil maupun berupa kesalahan. Keheningan membuat klien menunggu dan model terhenti.
Pemeriksaan Singkat
Apa alasan utama menambahkan batas waktu pada pemanggilan eksternal dalam alat?
Rangkuman
Gagal dengan cepat, jangan pernah macet: tangkap hal tak terduga, tetapkan batas waktu, batasi percobaan ulang, lepaskan sumber daya, catat dengan aman, dan selalu kembalikan respons. ✅
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Gagal dengan Aman, Jangan Pernah Macet” gratis?
Ya — teks lengkap “Gagal dengan Aman, Jangan Pernah Macet” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus MCP Academy, upgrade ke CoddyKit PRO. Kursus MCP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Gagal dengan Aman, Jangan Pernah Macet”?
Lindungi aplikasi dari batas waktu dan pengecualian yang tidak tertangani. Kamu berlatih MCP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai MCP Academy?
Tidak diperlukan pengalaman sebelumnya. MCP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Gagal dengan Aman, Jangan Pernah Macet” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran MCP Academy ini?
Ya. Setiap pelajaran MCP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Kesalahan Alat yang Dapat Dilihat Model
- Kesalahan Protokol dan Kegagalan Alat
- Memvalidasi Input Sebelum Bertindak
- Gagal dengan Aman, Jangan Pernah Macet