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
tryberisi kode berisiko,exceptmenangani error,elseberjalan jika aman,finallyselalu berjalan.- Tangkap jenis error yang spesifik, bukan semua error.
with openmembuka 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.
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"))Sumber belajar
- Python Tutorial: Errors and Exceptions
- Python Standard Library: Built-in Exceptions
- Python Tutorial: Input and Output
- Python Standard Library: Built-in Functions
Penjelasan dan contoh disusun ulang untuk materi ini; sumber dapat dibuka untuk belajar lebih lanjut.
Latihan soal Try Except dan Membaca File
- Soal
- 5
Memuat soal…