Skip to main content
  1. Belajar/
  2. Python Fundamental/
  3. 11. Menangani Error (Error Handling) pada Python/

Tips dan Trik dalam Penanganan Error

9 mins· loading · loading ·
Menangani Error pada Python - This article is part of a series.
Part 7: This Article

Pada bagian ini, kita akan membahas beberapa tips dan trik dalam menangani error pada Python.

a. Mengetahui dan Menangani Error Secara Spesifik
#

Sebisa mungkin, ketahui jenis exception yang mungkin terjadi dan tangani secara spesifik. Langkah ini membantu dalam memahami penyebab kesalahan dan memberikan penanganan yang sesuai.

Kode Sample:

try:
    # melakukan operasi yang mungkin menyebabkan error
except FileNotFoundError as e:
    print(f"File tidak ditemukan: {e}")
except (IOError, PermissionError) as e:
    print(f"Error saat membaca atau menulis file: {e}")
except Exception as e:
    print(f"Error umum: {e}")

Penjelasan:

  • Blok Except pertama menangani exception FileNotFoundError, yang spesifik untuk masalah file yang tidak ditemukan.
  • Blok Except kedua menangani exception IOError dan PermissionError, yang terkait dengan masalah I/O dan izin file.
  • Blok Except terakhir menangani exception umum yang mungkin terjadi.

b. Penggunaan Konteks Manajer (Context Manager) dengan Statement “with”
#

Gunakan statement with untuk menggunakan konteks manajer ketika bekerja dengan sumber daya seperti file atau koneksi database. Langkah ini memastikan bahwa sumber daya akan dibersihkan secara otomatis setelah operasi selesai.

Kode Sample:

try:
    with open("file.txt", "r") as file:
        # melakukan operasi membaca file
except FileNotFoundError as e:
    print(f"File tidak ditemukan: {e}")

Penjelasan:

  • Penggunaan statement with dalam kode di atas memastikan bahwa file akan ditutup secara otomatis setelah operasi membaca file selesai atau jika terjadi exception.

c. Membuat dan Menggunakan Kelas Exception Kustom
#

Saat membangun aplikasi besar, pertimbangkan untuk membuat dan menggunakan kelas exception kustom. Langkah ini mempermudah dalam identifikasi, pemeliharaan, dan penanganan kesalahan secara spesifik. Kode Sample:

class NetworkError(Exception):
    pass

class DatabaseError(Exception):
    pass

try:
    # melakukan operasi yang mungkin menyebabkan error jaringan atau database
except NetworkError as ne:
    print(f"Error jaringan: {ne}")
except DatabaseError as de:
    print(f"Error database: {de}")

Penjelasan:

  • Kelas exception kustom seperti NetworkError dan DatabaseError memungkinkan kita untuk menangani kesalahan jaringan dan database secara spesifik.

d. Menyertakan Informasi Tambahan pada Exception
#

Saat memunculkan exception, pertimbangkan untuk menyertakan informasi tambahan yang dapat membantu dalam pemecahan masalah dan debugging. Kode Sample:

class CustomError(Exception):
    def __init__(self, message, additional_info):
        super().__init__(message)
        self.additional_info = additional_info

try:
    # melakukan operasi yang mungkin menyebabkan error
except CustomError as ce:
    print(f"Error kustom: {ce}, Additional Info: {ce.additional_info}")

Penjelasan:

Dengan menyertakan additional_info pada kelas exception kustom CustomError, kita dapat memberikan informasi tambahan yang dapat membantu dalam menganalisis dan memperbaiki masalah.

e. Logging Kesalahan dengan Modul “logging”
#

Gunakan modul logging untuk mencatat dan melacak kesalahan. Modul ini membantu dalam monitoring aplikasi dan pemecahan masalah. Kode Sample:

import logging

try:
    # melakukan operasi yang mungkin menyebabkan error
except Exception as e:
    logging.error(f"Terjadi kesalahan: {e}")

Penjelasan:

Penggunaan modul logging memungkinkan kita untuk mencatat informasi kesalahan, termasuk traceback dan pesan kesalahan.

f. Dokumentasi yang Jelas untuk Exception Handling
#

Selalu sertakan dokumentasi yang jelas tentang exception handling di kode Anda. Ini membantu pemeliharaan dan pengembang lain dalam memahami cara menangani kesalahan. Kode Sample:

try:
    # melakukan operasi yang mungkin menyebabkan error
except FileNotFoundError as e:
    """
    Exception Handling untuk File Not Found Error
    
    Pada blok ini, kita menangani kesalahan jika file yang dibuka tidak ditemukan.
    """
    print(f"File tidak ditemukan: {e}")

Penjelasan:

  • Menyertakan komentar atau dokumentasi yang jelas membantu dalam memahami alur logika dan penanganan exception pada kode.
  • Melakukan error handling dengan praktik terbaik tidak hanya meningkatkan keamanan dan kehandalan kode Anda tetapi juga membuatnya lebih mudah dimengerti dan dikelola oleh tim pengembang Anda.
Menangani Error pada Python - This article is part of a series.
Part 7: This Article