J. E. N. I.
permasalahan yang akan diselesaikan. Members dan constructors dapat dimasukkan pada exception class milik anda.
Berikut ini contohnya:
class HateStringException extends RuntimeException {
/* Tidak perlu memasukkan member ataupun construktor */
}
class TestHateString { public static void main( String args []) { String input = " invalid input "; try { if( input. equals(" invalid input ")) { throw new HateStringException();
} System. out. println(" String accepted.");
} catch( HateStringException e) { System. out. println(" I hate this string: " + input + ".");
}
}
}
2.6 Assertions
2.6.1 User Defined Exceptions
Assertions mengijinkan programmer untuk menentukan asumsi yang dihadapi. Sebagai contoh, sebuah tanggal dengan area bulan tidak berada antara 1 hingga 12 dapat diputuskan bahwa data tersebut tidak valid. Programmer dapat menentukan bulan harus berada diantara area tersebut. Meskipun hal itu dimungkinkan untuk menggunakan contructor lain untuk mensimulasikan fungsi dari assertions, namun sulit untuk dilakukan karena fitur assertion dapat tidak digunakan. Hal yang menarik dari assertions adalah seorang user memiliki pilihan untuk digunakan atau tidak pada saat runtime.
Assertion dapat diartikan sebagai extensi atas komentar yang menginformasikan pembaca kode bahwa sebagian kondisi harus terpenuhi. Dengan menggunakan assertions, maka tidak perlu untuk membaca keseluruhan kode melalui setiap komentar untuk mencari asumsi yang dibuat dalam kode. Namun, menjalankan program tersebut akan memberitahu anda tentang assertion yang dibuat benar atau salah. Jika assertion tersebut salah, maka AssertionError akan terjadi.
2.6.2 Mengaktifkan dan Menonaktifkan Exceptions
Penggunaan assertions tidak perlu melakukan import package java. util. assert. Menggunakan assertions lebih tepat ditujukan untuk memeriksa parameter dari nonpublic methods jika public methods dapat diakses oleh class lain. Hal itu mungkin terjadi bila penulis dari class lain tidak menyadari bahwa mereka dapat menonaktifkan assertions. Dalam hal ini program tidak dapat bekerja dengan baik. Pada non-public methods, hal tersebut tergunakan secara langsung oleh kode yang
Pengenalan Pemrograman 2 10