Mengenal Objek Err untuk Mengetahui dan Menganalisis Runtime Error pada VBA Excel

 

Pernah Bertanya, "Sebenarnya Error Apa yang Terjadi?"

Ketika sebuah program VBA mengalami Runtime Error, biasanya kita hanya melihat kotak dialog yang menampilkan pesan kesalahan.

Namun, di balik pesan tersebut, VBA sebenarnya menyimpan banyak informasi.

Misalnya:

  • Nomor error.

  • Deskripsi error.

  • Sumber error.

  • Status error terakhir.

Seluruh informasi tersebut dapat diakses melalui sebuah objek bawaan VBA yang bernama Err.

Dengan mengenal objek ini, Anda tidak hanya mengetahui bahwa program mengalami error, tetapi juga mengapa error itu terjadi.


Apa Itu Objek Err?

Err adalah objek bawaan VBA yang secara otomatis menyimpan informasi tentang Runtime Error terakhir yang terjadi.

Objek ini akan diperbarui setiap kali VBA menemukan Runtime Error.

Karena itulah, objek Err sering digunakan bersama perintah On Error untuk membuat proses penanganan error menjadi lebih informatif.


Kapan Objek Err Digunakan?

Secara umum, objek Err digunakan setelah program menangkap Runtime Error.

Ilustrasinya seperti berikut.

Program Berjalan
       │
       ▼
Terjadi Runtime Error
       │
       ▼
On Error Menangkap Error
       │
       ▼
Objek Err Menyimpan Informasi
       │
       ▼
Program Membaca Informasi Error

Dengan kata lain, Err berfungsi sebagai "catatan" mengenai error terakhir yang dialami program.


Properti yang Paling Sering Digunakan

Objek Err memiliki beberapa properti, tetapi ada tiga yang paling sering digunakan.

PropertiFungsi
Err.Number Menyimpan nomor error.
Err.Description Menyimpan penjelasan mengenai error.
Err.Source Menyimpan sumber atau lokasi error.

Ketiga properti tersebut sudah cukup untuk menangani sebagian besar kebutuhan Error Handling.


Mengenal Err.Number

Properti ini berisi nomor identitas dari Runtime Error.

Contoh:

Sub Contoh()

    On Error Resume Next

    Worksheets("Data").Activate

    MsgBox Err.Number

End Sub

Jika worksheet Data tidak ditemukan, Err.Number akan menampilkan nomor error yang sesuai.

Nomor ini berguna ketika Anda ingin menangani beberapa jenis error dengan cara yang berbeda.


Mengenal Err.Description

Nomor error sering kali sulit dipahami.

Karena itu, VBA juga menyediakan deskripsi singkat melalui properti Description.

Contoh:

Sub Contoh()

    On Error Resume Next

    Worksheets("Data").Activate

    MsgBox Err.Description

End Sub

Hasilnya bisa berupa pesan seperti:

Subscript out of range

Informasi ini jauh lebih mudah dipahami dibandingkan hanya melihat nomor error.


Mengenal Err.Source

Selain nomor dan deskripsi, Anda juga dapat mengetahui sumber error menggunakan properti Source.

MsgBox Err.Source

Properti ini berguna ketika project memiliki banyak module atau memanfaatkan library eksternal.


Menggabungkan Beberapa Properti

Dalam praktiknya, beberapa properti sering ditampilkan secara bersamaan.

Sub Contoh()

    On Error Resume Next

    Worksheets("Laporan").Activate

    If Err.Number <> 0 Then

        MsgBox "Nomor Error : " & Err.Number & vbCrLf & _
               "Pesan       : " & Err.Description

    End If

End Sub

Dengan cara ini, pengguna atau programmer memperoleh informasi yang lebih lengkap mengenai error yang terjadi.


Membersihkan Informasi Error

Setelah error selesai ditangani, objek Err sebaiknya dibersihkan.

Gunakan perintah berikut.

Err.Clear

Perintah tersebut menghapus informasi mengenai Runtime Error terakhir.

Contoh:

If Err.Number <> 0 Then

    MsgBox Err.Description

    Err.Clear

End If

Hal ini membantu mencegah informasi error lama terbawa ke proses berikutnya.


Studi Kasus

Bayangkan Anda ingin membuka worksheet Rekap.

Sub BukaRekap()

    On Error Resume Next

    Worksheets("Rekap").Activate

    If Err.Number <> 0 Then

        MsgBox "Error " & Err.Number & vbCrLf & _
               Err.Description

        Err.Clear

    End If

    On Error GoTo 0

End Sub

Jika worksheet tidak tersedia, pengguna akan memperoleh informasi yang lebih jelas dibandingkan pesan bawaan VBA.


Kesalahan yang Sering Terjadi

Tidak Memeriksa Err.Number

Sebagian programmer langsung menampilkan Err.Description tanpa memastikan bahwa benar-benar terjadi Runtime Error.

Biasakan memeriksa Err.Number terlebih dahulu.


Lupa Menggunakan Err.Clear

Jika informasi error tidak dibersihkan, nilai pada objek Err dapat tetap tersimpan dan berpotensi membingungkan proses berikutnya.


Menggunakan Err Tanpa On Error

Objek Err umumnya digunakan bersama mekanisme Error Handling.

Tanpa On Error, Runtime Error biasanya sudah menghentikan program sebelum Anda sempat membaca isi objek Err.


Kapan Sebaiknya Menggunakan Objek Err?

Objek Err sangat berguna ketika Anda ingin:

  • Menampilkan pesan yang lebih informatif.

  • Mengetahui penyebab Runtime Error.

  • Mencatat error ke log.

  • Membedakan perlakuan berdasarkan nomor error.

  • Membantu proses debugging.


Tips Praktis

✔ Gunakan Err.Number untuk memastikan apakah Runtime Error benar-benar terjadi.

✔ Gunakan Err.Description untuk memberikan informasi yang mudah dipahami.

✔ Gunakan Err.Clear setelah proses penanganan error selesai.

✔ Padukan objek Err dengan On Error GoTo atau On Error Resume Next agar Error Handling menjadi lebih efektif.


Ringkasan

PropertiKegunaan
Err.Number Menampilkan nomor Runtime Error.
Err.Description Menampilkan penjelasan mengenai Runtime Error.
Err.Source Menampilkan sumber atau asal Runtime Error.
Err.Clear Menghapus informasi Runtime Error yang tersimpan.

Kesimpulan

Objek Err merupakan bagian penting dari mekanisme Error Handling di VBA. Melalui objek ini, Anda dapat memperoleh informasi rinci mengenai Runtime Error yang terjadi, mulai dari nomor error hingga deskripsinya. Informasi tersebut sangat membantu dalam proses debugging maupun ketika ingin menampilkan pesan yang lebih jelas kepada pengguna.

Dengan menggabungkan Err dan On Error, aplikasi VBA tidak hanya menjadi lebih stabil, tetapi juga lebih mudah dipelihara dan dikembangkan.

Hubungi Kami

Kantor Berkreasi
Alamat :
Pens Sky Venture - Sukolilo Surabaya
Karangrejo Tmur 17 Surabaya

Email : kantor.berkreasi@gmail.com
WA : wa.me/6287761589881  
(Support  Mbak Ana)

Tim Pengembang

Dr. Rojabi Azharghany, M.Si, S.Sos
Dr. H. Agus Sulthoni Imami, S.Psi. M.Pd.I.
Ali Ishaq, M.Pd.
Didik Rahwiniyanto, S.Si., M.Pd.
Mujiburrohman, M.Pd.
Mohammad Zikky, S.ST, M.T
Amien sawedi, S.Pd.
Didik P Wicaksono, M.Pd.