Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Coba Tangkap di Jawa:Contoh Penanganan Pengecualian

Apa itu Pengecualian di Java?

Pengecualian di Jawa adalah peristiwa yang mengganggu eksekusi instruksi program dan mengganggu aliran normal eksekusi program. Ini adalah objek yang membungkus informasi peristiwa kesalahan yang terjadi dalam suatu metode dan diteruskan ke sistem runtime. Di Java, pengecualian terutama digunakan untuk menunjukkan berbagai jenis kondisi kesalahan.

Dalam tutorial ini, Anda akan belajar-

Ada dua jenis kesalahan:

  1. Kesalahan waktu kompilasi
  2. Kesalahan waktu proses

Kesalahan waktu kompilasi dapat diklasifikasikan lagi menjadi dua jenis:

Contoh Kesalahan Sintaks:

Alih-alih mendeklarasikan int a; Anda salah mendeklarasikannya sebagai in a; yang kompilernya akan menimbulkan kesalahan.

Contoh:Anda telah mendeklarasikan variabel int a; dan setelah beberapa baris kode, Anda kembali mendeklarasikan bilangan bulat sebagai int a; . Semua kesalahan ini disorot saat Anda mengkompilasi kode.

Contoh Kesalahan Waktu Proses

Kesalahan Runtime disebut Pengecualian kesalahan. Ini adalah peristiwa apa pun yang mengganggu aliran normal eksekusi program.

Contoh pengecualian adalah, pengecualian aritmatika, pengecualian Nullpointer, pengecualian Bagi dengan nol, dll.

Pengecualian di Java adalah sesuatu yang berada di luar kendali pengembang.

Klik di sini jika video tidak dapat diakses

Mengapa kita membutuhkan Pengecualian?

Misalkan Anda telah membuat kode program untuk mengakses server. Semuanya bekerja dengan baik saat Anda mengembangkan kode.

Selama proses produksi yang sebenarnya, server sedang down. Saat program Anda mencoba mengaksesnya, pengecualian akan muncul.

Cara Menangani Pengecualian

Sejauh ini kita telah melihat, pengecualian berada di luar kendali pengembang. Tetapi menyalahkan kegagalan kode Anda pada masalah lingkungan bukanlah solusi. Anda memerlukan Pemrograman yang Kuat, yang menangani situasi luar biasa. Kode tersebut dikenal sebagai Pengecualian Handler.

Dalam contoh kami, penanganan pengecualian yang baik adalah, saat server sedang down, sambungkan ke server cadangan.

Untuk menerapkan ini, masukkan kode Anda untuk terhubung ke server (Menggunakan kondisi if dan else tradisional).

Anda akan memeriksa apakah server sedang down. Jika ya, tulis kode untuk terhubung ke server cadangan.

Pengorganisasian kode seperti itu, menggunakan loop “if” dan “else” tidak efektif bila kode Anda memiliki beberapa pengecualian java untuk ditangani.

class connect{
	if(Server Up){
	 // code to connect to server
	}
	else{
	 // code to connect to BACKUP server
	}
}

Coba Catch Block

Java menyediakan penanganan luar biasa bawaan.

  1. Kode normal masuk ke COBA blokir.
  2. Kode penanganan pengecualian masuk ke CATCH blokir

Dalam contoh kita, blok TRY akan berisi kode untuk terhubung ke server. Blok CATCH akan berisi kode untuk terhubung ke server cadangan.

Jika server aktif, kode di blok CATCH akan diabaikan. Jika server sedang down, eksepsi akan muncul, dan kode di blok catch akan dieksekusi.

Jadi, beginilah cara exception ditangani di Java.

Sintaks untuk menggunakan try &catch

try{
    statement(s)
}
catch (exceptiontype name){
	statement(s)
}

Contoh

Langkah 1) Salin kode berikut ke dalam editor

class JavaException {
   public static void main(String args[]){
      int d = 0;
      int n = 20;
      int fraction = n/d;
     System.out.println("End Of Main");
   }
}

Langkah 2) Simpan file &kompilasi kode. Jalankan program menggunakan perintah, java JavaException

Langkah 3) Pengecualian Aritmatika – bagi dengan nol ditunjukkan seperti di bawah ini untuk baris # 5 dan baris # 6 tidak pernah dieksekusi

Langkah 4) Sekarang mari kita lihat bagaimana try and catch akan membantu kita menangani pengecualian ini. Kami akan menempatkan pengecualian yang menyebabkan baris kode menjadi coba blok, diikuti dengan tangkapan memblokir. Salin kode berikut ke dalam editor.

class JavaException {
 public static void main(String args[]) {
  int d = 0;
  int n = 20;
  try {
   int fraction = n / d;
   System.out.println("This line will not be Executed");
  } catch (ArithmeticException e) {
   System.out.println("In the catch Block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Langkah 5) Simpan, Kompilasi &Jalankan kode. Anda akan mendapatkan output berikut

Seperti yang Anda amati, pengecualian ditangani, dan baris kode terakhir juga dieksekusi. Juga, perhatikan bahwa Baris #7 tidak akan dieksekusi karena segera setelah pengecualian dinaikkan, aliran kontrol melompat ke blok tangkapan.

Catatan: Objek AritmeticException "e" membawa informasi tentang pengecualian yang telah terjadi yang dapat berguna dalam mengambil tindakan pemulihan.

Hirarki kelas Pengecualian Java

Setelah satu pernyataan tangkap dieksekusi, yang lain dilewati, dan eksekusi berlanjut setelah blok coba/tangkap. Blok tangkapan bersarang mengikuti hierarki Pengecualian.

Contoh: Untuk memahami sarang dari blok coba dan tangkap

Langkah 1) Salin kode berikut ke dalam editor.

class JavaException {
 public static void main(String args[]) {
  try {
   int d = 1;
   int n = 20;
   int fraction = n / d;
   int g[] = {
    1
   };
   g[20] = 100;
  }
  /*catch(Exception e){
  	System.out.println("In the catch block due to Exception = "+e);
  }*/
  catch (ArithmeticException e) {
   System.out.println("In the catch block due to Exception = " + e);
  } catch (ArrayIndexOutOfBoundsException e) {
   System.out.println("In the catch block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Langkah 2) Simpan file &kompilasi kode. Jalankan program menggunakan perintah, java JavaException .

Langkah 3) ArrayIndexOutOfBoundsException dihasilkan. Ubah nilai int d menjadi 0. Simpan, Kompilasi &Jalankan kodenya.

Langkah 4 ) ArithmeticException harus dibuat.

Langkah 5) Batalkan komentar pada baris #10 hingga baris #12. Simpan, Kompilasi &Jalankan kode.

Langkah 6) Kesalahan Kompilasi? Ini karena Exception adalah kelas dasar dari ArithmeticException Exception. Setiap Exception yang dimunculkan oleh ArithmeticException dapat ditangani oleh kelas Exception juga. Jadi blok catch dari ArithmeticException tidak akan pernah mendapat kesempatan untuk dieksekusi yang membuatnya menjadi redundan. Karenanya kesalahan kompilasi.

Java Akhirnya Diblokir

Blok akhirnya dieksekusi terlepas dari pengecualian yang dimunculkan di blok coba. Ini adalah opsional untuk digunakan dengan blok coba.

 try {
  statement(s)
 } catch (ExceptiontType name) {

  statement(s)

 } finally {

  statement(s)

 }

Dalam kasus, pengecualian muncul di blok try, akhirnya blok dieksekusi setelah blok catch dieksekusi.

Contoh

Langkah 1) Salin kode berikut ke dalam editor.

class JavaException {
   public static void main(String args[]){
    try{
       int d = 0;
       int n =20;
       int fraction = n/d;
    }
  catch(ArithmeticException e){
    System.out.println("In the catch block due to Exception = "+e);
  }
  finally{
	System.out.println("Inside the finally block");
  }
}
}

Langkah 2) Simpan, Kompilasi &Jalankan Kode.

Langkah 3) Keluaran yang diharapkan. Akhirnya blok dieksekusi meskipun pengecualian dimunculkan.

Langkah 4) Ubah nilai variabel d =1. Simpan, Kompilasi dan Jalankan kode dan amati outputnya.Bottom of Form

Ringkasan :


java

  1. Penanganan Pengecualian Python Menggunakan pernyataan coba, kecuali dan akhirnya
  2. Penanganan Pengecualian Java
  3. Jawa coba ... tangkap
  4. Java menangkap Beberapa Pengecualian
  5. Penanganan Pengecualian C++:Coba, Tangkap, lempar Contoh
  6. Metode Java String charAt() dengan Contoh
  7. Java String EndsWith() Metode dengan Contoh
  8. Java BufferedReader:Cara Membaca File di Java dengan Contoh
  9. Algoritma Insertion Sort di Java dengan Contoh Program
  10. Penanganan Pengecualian Python:coba, tangkap, akhirnya &naikkan [Contoh]