0Pricing
Python Academy · Pelajaran

try / except / else / finally

Susun blok penanganan pengecualian untuk berbagai situasi.

try / except / else / finally adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pendahuluan

try/except/else/finally dari Python memberi Anda kendali penuh atas penanganan kesalahan dan pembersihan.

try/except Dasar

try: risky_code() except ExceptionType: handle() — Python menjalankan blok except hanya saat tipe pengecualian tersebut dimunculkan.
try:
    x = int('abc')
except ValueError:
    print('not a number')

Menangkap Objek Pengecualian

except ValueError as e: mengikat pengecualian ke e. Gunakan str(e) atau e.args untuk mendapatkan pesannya.
try:
    int('oops')
except ValueError as e:
    print(f'Error: {e}')

Menangkap Beberapa Pengecualian

except (TypeError, ValueError) as e: menangkap salah satu dari kedua tipe tersebut.
for val in ['abc', None, 42]:
    try:
        print(int(val))
    except (TypeError, ValueError) as e:
        print(f'skipping {val!r}: {e}')

except Tanpa Tipe (hindari)

except: (tanpa tipe) menangkap EVERYTHING termasuk KeyboardInterrupt dan SystemExit. Hampir selalu merupakan kesalahan — selalu tentukan tipenya.
try:
    risky = 1/0
except ZeroDivisionError:
    print('division error')  # specific

Beberapa Klausa except

Anda dapat memiliki beberapa blok except, masing-masing menangani tipe yang berbeda. Python mencobanya secara berurutan.
def process(val):
    try:
        return 10 / int(val)
    except ValueError:
        print('not a number')
    except ZeroDivisionError:
        print('division by zero')
process('abc')
process('0')

Klausa else

try/except/else: else hanya dijalankan jika TIDAK ada pengecualian yang dimunculkan. Gunakan untuk kode yang harus dijalankan saat berhasil.
try:
    x = int('42')
except ValueError:
    print('bad input')
else:
    print('parsed:', x)

Klausa finally

finally: selalu dijalankan — setelah try berhasil, setelah except, bahkan setelah return atau break. Sangat cocok untuk pembersihan.
def read_file(path):
    f = None
    try:
        f = open(path)
        return f.read()
    except FileNotFoundError:
        return None
    finally:
        if f: f.close()
print(read_file('/nonexistent'))

finally dengan return

Jika terdapat return dan finally, finally dijalankan terlebih dahulu, tetapi nilai pengembalian dari finally yang berlaku. Berhati-hatilah.
def demo():
    try:
        return 'try'
    finally:
        return 'finally'  # overrides!
print(demo())

Blok try Bertingkat

Blok try dapat disarangkan. Pengecualian dari dalam akan diteruskan ke luar jika tidak ditangkap oleh except di dalamnya.
try:
    try:
        x = 1/0
    except ValueError:
        print('inner')
except ZeroDivisionError:
    print('outer caught it')

Mencatat Pengecualian

import logging; logging.exception('msg') mencatat pelacakan balik lengkap. Sangat cocok untuk kode produksi.
import logging
try:
    1/0
except ZeroDivisionError:
    logging.exception('Caught an error')

Pemeriksaan Singkat

Klausa mana yang dijalankan terlepas dari apakah pengecualian terjadi?

Ringkasan

try/except menangkap kesalahan. else dijalankan saat berhasil. finally selalu dijalankan (untuk pembersihan). Tangkap tipe tertentu; hindari except tanpa tipe. Gunakan as e untuk mengakses pengecualian.

Lanjutkan

Kerja bagus! Lanjutkan ke pelajaran berikutnya untuk terus berkembang.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “try / except / else / finally” gratis?

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

Apa yang akan aku pelajari di “try / except / else / finally”?

Susun blok penanganan pengecualian untuk berbagai situasi. Kamu berlatih Python 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 Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python 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 2 dari 4.

Berapa lama pelajaran “try / except / else / finally” 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 Python Academy ini?

Ya. Setiap pelajaran Python 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. Memahami Pengecualian
  2. try / except / else / finally
  3. Memunculkan dan Memunculkan Ulang Pengecualian
  4. Class Pengecualian Kustom
← Kembali ke Python Academy