Mojo Academy · Pelajaran

Anotasi raises

Tandai fungsi yang dapat gagal.

Pelajaran 3 dari 413 langkah

Anotasi raises adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.

Jujur tentang Kegagalan

Mojo menginginkan fungsi bersikap jujur tentang apakah fungsi tersebut dapat gagal. Kata kunci raises menandai fungsi yang mungkin memunculkan galat. 📣

Menambahkan raises

Letakkan raises tepat setelah daftar argumen. Ini memberi tahu pemanggil bahwa fungsi tersebut mungkin tidak selalu berhasil.

fn parse(text: String) raises -> Int:
    ...

def Dapat Selalu Memunculkan Galat

Fungsi def yang fleksibel dapat memunculkan galat tanpa anotasi apa pun. Mojo menganggap def dapat gagal secara bawaan.

def load(name: String):
    raise Error("missing")

fn Harus Mendeklarasikannya

Fungsi fn yang ketat tidak dapat memunculkan galat kecuali Anda menambahkan raises. Ini membuat kegagalan menjadi eksplisit dan mudah ditemukan.

fn safe(x: Int) -> Int:
    return x + 1

Memanggil Fungsi yang Memunculkan Galat

Memanggil sesuatu yang ditandai raises berarti Anda harus menangani galat tersebut, biasanya di dalam blok try.

try:
    var n = parse("42")
except e:
    print(e)

Galat Mengalir melalui raises

Jika fungsi yang dapat memunculkan galat dipanggil di dalam fungsi raises lain, galat tersebut cukup diteruskan ke atas tanpa try.

Tidak Memunculkan Galat Berarti Aman

Fungsi tanpa raises menjanjikan bahwa fungsi tersebut tidak akan memunculkan galat. Pemanggil dapat menggunakannya dengan bebas tanpa blok try.

Kompiler Memeriksa Kode Anda

Kompiler Mojo menolak raise di dalam fn yang tidak memunculkan galat. Ini menemukan ketidaksesuaian sebelum program Anda dijalankan.

Kode yang Mendokumentasikan Dirinya Sendiri

Kata kunci raises berfungsi sebagai dokumentasi yang selalu diperbarui. Dengan sekali melihat tanda tangan fungsi, Anda dapat mengetahui apakah pemanggilan dapat gagal.

Jaga Permukaan Tetap Kecil

Tandai hanya fungsi yang benar-benar dapat gagal dengan raises. Lebih sedikit fungsi yang dapat memunculkan galat berarti titik pemanggilan lebih sederhana dan aman.

raises dan Tipe Pengembalian

Anda menggabungkan raises dengan tipe pengembalian biasa. Fungsi mengembalikan nilai saat berhasil atau memunculkan galat saat gagal.

fn divide(a: Int, b: Int) raises -> Int:
    if b == 0:
        raise Error("divide by zero")
    return a // b

Pemeriksaan Cepat

Pikirkan bagaimana fn dan kata kunci raises bekerja bersama.

Rangkuman

Anda telah belajar bahwa raises menyatakan fungsi mungkin gagal, bahwa def selalu dapat memunculkan galat sedangkan fn harus memilihnya secara eksplisit, dan bahwa kompiler menegakkan aturan tersebut. 🎯

Gratis untuk memulai

Belajar Mojo 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 “Anotasi raises” gratis?

Ya — teks lengkap “Anotasi raises” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Mojo Academy, upgrade ke CoddyKit PRO. Kursus Mojo Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Anotasi raises”?

Tandai fungsi yang dapat gagal. Kamu berlatih Mojo 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 Mojo Academy?

Tidak diperlukan pengalaman sebelumnya. Mojo 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 3 dari 4.

Berapa lama pelajaran “Anotasi raises” 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 Mojo Academy ini?

Ya. Setiap pelajaran Mojo 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

  1. Menaikkan Error
  2. Menangkap dengan try/except
  3. Anotasi raises
  4. Pembersihan dengan finally
← Kembali ke Mojo Academy