Eco Techno Leader perlu menangani error saat monitoring energi, seperti pembagian nol atau file tidak ditemukan. Kita akan gunakan try-except untuk ini.
Kita coba hitung efisiensi, tapi energi inputnya nol.
try:
energi_input = 0
energi_output = 850
efisiensi = (energi_output / energi_input) * 100
print("Efisiensi:", efisiensi)
except ZeroDivisionError:
print("Error: Energi input tidak boleh nol!")
Hasil di Command Prompt:
Do: Gunakan try-except untuk tangani error tertentu.
Don't: Jangan biarkan error tanpa penanganan, soalnya program akan crash.
Kita coba baca file log yang gak ada.
try:
with open("log_energi_hilang.txt", "r") as file:
isi_log = file.read()
print(isi_log)
except FileNotFoundError:
print("Error: File log tidak ditemukan, pastikan file ada!")
except Exception as e:
print("Error lain terjadi:", e)
Hasil di Command Prompt:
Do: Gunakan exception spesifik (FileNotFoundError) sebelum exception umum (Exception).
Don't: Jangan pake Exception aja tanpa spesifik, soalnya gak jelas errornya apa.
Kita tangani error lengkap saat menghitung rata-rata dari file log.
try:
with open("log_energi.txt", "r") as file:
lines = file.readlines()
energi_list = [int(line.split(": ")[1].split(" ")[0]) for line in lines]
except FileNotFoundError:
print("Error: File log tidak ditemukan!")
except ValueError:
print("Error: Data di file tidak valid!")
else:
rata_rata = sum(energi_list) / len(energi_list)
print("Rata-rata produksi energi:", rata_rata, "kWh")
finally:
print("Proses selesai, lanjutkan monitoring.")
Hasil di Command Prompt (jika file ada dan valid):
Do: Gunakan else untuk kode yang hanya jalan kalau gak ada error, dan finally untuk kode yang selalu jalan.
Don't: Jangan pake finally untuk kode yang gak perlu dijalankan setiap saat.