Menu Close

Perbedaan antara Error dan Eksepsi pada java

Perbedaan utama: Keduanya, error dan eksepsi berasal dari java.lang. Masalah yang bisa diatasi. ‘error’ adalah masalah serius yang tidak dapat dipulihkan begitu terjadi, sedangkan ‘eksepsi’ adalah masalah yang dapat ditangani dan diperbaiki setelah eksekusi.

‘Error’ di Java adalah masalah serius, yang pernah terjadi tidak dapat ditangani dan dipulihkan. Error didefinisikan sebagai “setiap penyimpangan dari perilaku yang diharapkan dari sistem atau program, yang menghentikan kerja sistem”. Itu datang di bawah kelas Throwable, yang mengkategorikannya sebagai aplikasi yang serius dan masuk akal. Setelah dieksekusi, aplikasi ini muncul kembali beberapa kali, menciptakan gangguan pada fungsi sistem. Ada beberapa subclass di bawah formulir error. Error ini terjadi pada level dan fungsi tertentu, dan ditangani oleh fungsi tertentu. Secara lebih luas, error ini dapat dipecah menjadi dua kategori: error desain-waktu dan error logis.

Pada dasarnya, ada dua jenis error utama dan kondisinya:

  • Run-time error: Ini dieksekusi saat menjalankan program.
  • Error kompilasi: Ini dijalankan di kompiler, selama waktu kompilasi.

Selanjutnya tipe-tipe ini dibagi lagi menjadi bentuk lain.

Sebagai contoh:

kelas MyClass {

batal f () {

int n = 10; // error, kurung kurawal tidak ada //

membatalkan g () {

int m = 20;

}

}

‘Eksepsi’ di Java adalah masalah yang bisa ditangani dan ditangkap. Ini pada dasarnya didefinisikan sebagai “setiap kesalahan atau masalah yang dapat ditangani dan terus bekerja secara normal”. Ini adalah runtime error, yang dapat diperbaiki dan ditangani pada saat eksekusi. Eksepsi sebagian besar terjadi selama pelaksanaan program apa pun. Ini dapat terjadi karena alasan apa pun, seperti pengguna telah memasukkan data yang tidak valid, file yang perlu dibuka tetapi tidak dapat ditemukan, koneksi jaringan yang telah hilang di tengah komunikasi dan ketika JVM kehabisan memori. Beberapa eksepsi ini disebabkan oleh kesalahan pengguna, sementara yang lain oleh kesalahan programmer dan oleh sumber daya fisik yang gagal dalam beberapa cara. Kelas java.lang.Exception terdiri dari semua subclass eksepsi. Kelas-kelas eksepsi ini adalah subclass dari kelas Throwable. Eksepsi ditangani dan ditangkap oleh teknik metode pengecualian. Ada berbagai metode dan teknik pengecualian yang menangani berbagai jenis pengecualian.

Secara umum, ada beberapa jenis pengecualian berikut:

  • Pengecualian yang dicentang: Ini adalah pengecualian yang biasanya merupakan kesalahan pengguna atau masalah yang tidak dapat diramalkan oleh programmer.
  • Pengecualian runtime: Ini adalah pengecualian yang terjadi yang mungkin bisa dihindari oleh programmer.

Sebagai contoh:

coba {

int x = 10;

int y = 0;

int z = x / y;

System.out.println (z);

}

catch (Exception err) {

System.out.println (err.getMessage ());

}

Perbandingan antara Error dan Pengecualian:

Error Pengecualian

 

Menunjukkan Ini menunjukkan masalah serius bahwa aplikasi yang masuk akal seharusnya tidak mencoba menangkapnya. Ini menunjukkan kondisi yang mungkin ingin ditangkap oleh aplikasi yang masuk akal.
Alam Mereka sering berakibat fatal dan pemulihan. Mereka tidak fatal dalam semua kasus.
Pemulihan Mereka tidak dapat dipulihkan begitu terjadi. Mereka umumnya masalah-masalah dari mana suatu program dapat pulih.
Ditangani atau tidak ditangani Error tidak dimaksudkan untuk ditangkap. Pengecualian dimaksudkan untuk ditangkap.
Disebabkan oleh Ini menunjukkan kesalahan sistem atau masalah dengan sumber daya tingkat rendah. Ini disebabkan oleh seorang programmer.
Hubungan bersama Error juga pengecualian yang tidak dicentang. Pengecualian juga merupakan galat Run-Time.
Harus ditangani di tingkat Kesalahan harus ditangani di tingkat sistem, jika memungkinkan. Pengecualian harus ditangani di tingkat aplikasi.
Jenis Kesalahan umumnya dibagi menjadi dua jenis, mis .:

Jalankan-Waktu

Kesalahan waktu kompilasi.

Pengecualian umumnya dibagi menjadi dua kategori, mis.

Diperiksa dan

Pengecualian tidak dicentang.

Contohnya java.lang.OutOfMemoryError IOException