Try Except Python dan Cara Membaca File untuk Pemula

Pelajari try except Python untuk menangani error seperti ValueError dan FileNotFoundError, serta cara membaca dan menulis file txt dengan with open.

Mapel
Pemrograman
Jenjang
SMA
Waktu baca
4 menit
Terbit
8 Oktober 2026

Try except Python adalah cara menangani error (exception) agar program tidak berhenti mendadak. Kode yang berisiko ditaruh di blok try, sedangkan tindakan saat error terjadi ditulis di blok except. Teknik ini sangat berguna saat membaca file atau mengubah input menjadi angka, karena data dari luar program sering tidak sesuai harapan.

Apa Itu Exception di Python?

Exception adalah error yang terjadi saat program berjalan. Tanpa penanganan, Python menghentikan program dan menampilkan traceback, kurang lebih seperti ini:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    angka = int("apel")
ValueError: invalid literal for int() with base 10: 'apel'

Baca traceback dari bawah: baris terakhir menyebut jenis error dan pesannya, baris di atasnya menunjukkan lokasi kode yang bermasalah.

Jenis error Contoh penyebab
ValueError int("apel")
TypeError "5" + 3
ZeroDivisionError 10 / 0
IndexError [1, 2][5]
KeyError {"a": 1}["b"]
FileNotFoundError membuka file yang tidak ada

Cara Menggunakan Try Except

Contoh 1: Masukan yang bukan angka

teks = "dua belas"
try:
    angka = int(teks)
    print(angka * 2)
except ValueError:
    print("Masukan harus berupa angka bulat.")

int("dua belas") gagal, sehingga Python melompat ke except dan mencetak Masukan harus berupa angka bulat. Baris print(angka * 2) tidak pernah dijalankan.

Contoh 2: Melewati data yang rusak

baris = ["12", " 8 ", "apel", "5"]
total = 0
for teks in baris:
    try:
        total += int(teks.strip())
    except ValueError:
        print("Lewati:", teks)
print("Total:", total)

Jejak total: 12, lalu 20; "apel" gagal sehingga dicetak Lewati: apel dan total tetap 20; terakhir 25. Keluaran akhirnya Total: 25. Error pada satu baris tidak menghapus hasil baris lain.

Cara Membaca File di Python dengan with open

Bentuk with open(...) as berkas: membuka file dan otomatis menutupnya setelah blok selesai, bahkan jika terjadi error.

Mode Arti
"r" membaca (default); error jika file tidak ada
"w" menulis; isi lama dihapus, file dibuat jika belum ada
"a" menambah di akhir file (append)

Contoh 3: Membaca nilai dari file txt

Misalkan file nilai.txt berisi tiga baris: 80, 75, dan 91.

with open("nilai.txt", encoding="utf-8") as berkas:
    nilai = [int(baris.strip()) for baris in berkas if baris.strip()]
print("Jumlah data:", len(nilai))
print("Rata-rata:", sum(nilai) / len(nilai))

Setiap baris file dibaca sebagai teks, lengkap dengan karakter baris baru. strip() membersihkan spasi dan baris baru, lalu int() mengubahnya menjadi bilangan. Keluarannya Jumlah data: 3 dan Rata-rata: 82.0.

Contoh 4: Menulis dan menambah isi file

with open("catatan.txt", "w", encoding="utf-8") as berkas:
    berkas.write("Hari 1: belajar try except\n")
with open("catatan.txt", "a", encoding="utf-8") as berkas:
    berkas.write("Hari 2: membaca file\n")
with open("catatan.txt", encoding="utf-8") as berkas:
    print(berkas.read())

Mode "w" membuat file baru, lalu mode "a" menambah baris kedua tanpa menghapus baris pertama. Program mencetak kedua baris catatan.

Contoh 5: Menangani file yang tidak ada

try:
    with open("data_hilang.txt", encoding="utf-8") as berkas:
        isi = berkas.read()
except FileNotFoundError:
    print("File tidak ditemukan. Periksa nama dan lokasinya.")

Kesalahan yang Sering Terjadi

Ringkasan

  • try berisi kode berisiko, except menangani error, else berjalan jika aman, finally selalu berjalan.
  • Tangkap jenis error yang spesifik, bukan semua error.
  • with open membuka dan menutup file otomatis; isi file selalu dibaca sebagai teks.
  • Mode "r" membaca, "w" menimpa, "a" menambah.

Materi Terkait

Pengolahan file biasanya menghasilkan list dan dictionary Python yang diolah dengan fungsi Python. Di jenjang kuliah, perilaku error seperti ini diuji otomatis dengan assertRaises pada materi unit test Python.

python · 12 baris
def bagi(a, b):
    try:
        return a / b
    except ZeroDivisionError:
        return "tidak bisa dibagi nol"
    except TypeError:
        return "masukan harus angka"


print(bagi(10, 4))
print(bagi(10, 0))
print(bagi(10, "2"))
Fungsi pembagian yang menangani beberapa jenis error

Sumber belajar

Penjelasan dan contoh disusun ulang untuk materi ini; sumber dapat dibuka untuk belajar lebih lanjut.

Latihan soal Try Except dan Membaca File

Lembar kerja · jawab langsung di halaman ini

Soal
5

Memuat soal…