laporan tugas error handling

12
12 Laporan Tugas Exception Handling Kelompok 6: Fenny Delusia R. 5109100013 Almira Desti T. 5109100041 Shabrina Mardhi D. 5109100049 Karina Adelia P.K. 5109100117 Oktaviandra Pradita P. 5109100138

Upload: shabrinadalila

Post on 22-Jul-2015

75 views

Category:

Documents


2 download

TRANSCRIPT

Laporan Tugas Exception HandlingKelompok 6: Fenny Delusia R. Almira Desti T. Shabrina Mardhi D. Karina Adelia P.K. Oktaviandra Pradita P. 5109100013 5109100041 5109100049 5109100117 5109100138

12

Tugas Teori Jelaskan perbedaan penggunaan Finalize() dan Dispose() (dari IDisposable) pada proses object clean-up dan kaitannya dengan exception handling (kapan menggunakan Dispose() dan kapan menggunakan finally)

Jawaban Finalize() dan Dispose() sama-sama memiliki fungsi untuk menghapus memori yang digunakan program untuk mejalankan fungsinya. Hanya saja Finalize() bersifat otomatis dipanggil, sedangkan Dispose() harus dipanggil manual oleh programmer. Selain itu perbedaannya adalah seperti yang tertera pada table di bawah ini: No 1 Finalize() Pemanggilan desctructor ini dilakukan secara otomatis oleh Runtime Java dengan adanya garbage collector Cara menggunakannya cukup di overide Dispose() Dipanggil manual untuk untuk merelase unmanaged resource yg kita gunakan..

2

3

4

5

6

Cara menggunakannya dengan membuat sendiri destruktor pada class yang dibuat dengan interface IDisposable(). Tidak tahu kapan pastinya Programmer menentukan desctructor ini dipanggil sendiri japan desctructor ini dipanggil. Biasanya di akhir program. Method ini dijalankan Method ini dijalankan sebelum proses untuk mengumpulkan pengumpulan sampah sampah memori lalu dijalankan. menghapusnya. Cleanup at GC (Garbage Early Cleanup Collection) time Obyek menerapkan Obyek dengan sumber daya IDisposable, pengguna yang tidak terkelola memanggil Dispose() untuk menerapkan finalize() membersihkan untuk membebaskan resources public void finalize() { public void Dispose() { if (checkedOut) Dispose(true); // Ensure that the

7

System.out.println("Error: checked out"); } Ketika tidak ada referensi ke sebuah obyek ke obyek ada, objek yang diasumsikan tidak lagi diperlukan, dan memori ditempati oleh objek dapat direklamasi

destructor is not called GC.SuppressFinalize(this); }

Penggunaan Finalize()

Atau

Penggunaan Dispose()

Tugas koding 1. Error handling untuk pengecekan aplikasi dapat tersambung dengan database atau tidakprivate bool ExecuteNonQuery(string query) { SqlConnection client = new SqlConnection(connString); client.Open(); //buka koneksi SqlTransaction trans; trans = client.BeginTransaction(); //error handling try { SqlCommand cmd = client.CreateCommand(); //create command cmd.Transaction = trans; cmd.CommandText = query; //command di set query int i = cmd.ExecuteNonQuery(); if (i