Mungkin ini teknik old-school, namun tidak ada salahnya untuk dipaparkan kembali. Sebenernya mungkin old-school sih, kurang tau juga, tapi baru tau and find it quite powerful.
Mengapa enumerasi? enumerasi pada java lebih banyak fitur dibandingkan dengan enumerasi di c++. Satu hal yang paling saya sukai adalah jika kita memiliki enumerasi seperti ini:
enum Errors {
Error_Unknown,
Error_Master_Not_Created,
Error_Config_Not_Found
}
dengan memanggil System.out.println(Error.Error_Config_Not_Found); maka yang tertuliskan pada layar adalah “Error_Config_Not_Found”. Manfaat hal ini adalah penulisan pesan Error menjadi hal yang diperiksa compiler. Salah penulisan pesan error akan menjadi kesalahan sintax.
Contoh penggunaan misalnya begini:
try {
mServerSocket = new ServerSocket(12345);
Socket tClientSocket = null;
while(true) {
tClientSocket = mServerSocket.accept();
Log.write("client trying to connect");
}
} catch(Exception ex) {
Log.severe(Errors.ERROR_SOCKET_LISTENING, ex.getMessage());
}
Dengan begini, melakukan tracing terhadap error yang terjadi akan lebih mudah dan lebih cepat
2 Comments
Bingung maksudnya?????
maksudnya, penulisan pesan error menjadi sesuatu yang diperiksa oleh compiler. Jika pesan error dituliskan dengan string, maka compiler akan memeriksa sintaks-nya saja apakah suddah benar namun semantiknya tidak diperiksa. Apabila dengan enum, maka semantik tersebut menjadi sintaks sehingga compiler bisa mengenali apabila terdapat kesalahan tipo dalam menuliskan pesan error