Kamis, 02 Juni 2022

3.10.3 MEMBUAT MENGUJI MEMPERBAIKI KODE PROGRAM APLIKASI PBO YANG MENERAPKAN ERROR HANDLING



 
a. Penanganan Tunggal
try {
//isi yang memungkinkan error
} catch (jenis error){
//dijalankan jika tidak terjadi error
}

Contoh :
public class Bilangan {

    public static void main(String args[]) {
        try {
            int a = 5;
            int b = 0;
            int c = a / b;
            System.out.println(c);
        } catch (Throwable e) {
            System.out.println("terjadi error");
            System.out.println(e.getMessage());
        }
    }
}

penanganan kesalahan pada operasi bilangan

b. Penanganan Bertingkat

try {
} catch (jenis error 1) {
//jika jenis error 1 terjadi
} catch (jenis error 2) {
//jika jenis error 2 terjadi
}..... 
catch (jenis error n) {
//jika jenis error n terjadi
}  

Contoh :
public class Bilangan {

    public static void main(String args[]) {
        try {
            int[] bil=new int[3];
            bil[4]=7;
            
            int a = 5;
            int b = 0;
            int c = a / b;
            System.out.println(c);
            
        } catch (ArithmeticException e) {
            System.out.println("terjadi error");
            System.out.println(e.getMessage());
        } catch (IndexOutOfBoundsException e){
            System.out.println("error");
            System.out.println(e.getMessage());
        }
    }
}
multiple exception handling

c. Melontarkan Exception
Melontarkan Exception berfungsi untuk memberitahukan kepada user ketika terjadi kesalahan, misalnya seperti mahasiswa salah dalam memasukkan nim, maka perlu ada pemberitahuan kesalahan input data.
Pelontaran kesalahan menggunakan keyword throws diikuti dengan kelas exception-nya.

Contoh:
public class Mahasiswa {
    String nim;
    public String getNim(){
        return nim;
    }
    
    public void setNim(String nim) throws Throwable{
        if (nim==null){
           throw new Throwable("nim harus diisi"); 
        }
        this.nim=nim;
    }
    public static void main (String args[]){
       try {
           Mahasiswa m1 = new Mahasiswa();
           m1.setNim(null);
       } catch (Throwable e){
           System.out.println("terjadi error");
           System.out.println(e.getMessage());
       }
    }
}
pelontaran exception


d. Penggunaan Block Finally
Blok Finally merupakan blok yang selalu dijalankan pada proses try catch, terlepas terjadi error pada program ataupun tidak.

Contoh:
public class Mahasiswa {
    String nim;
    public String getNim() {
        return nim;
    }

    public void setNim(String nim) throws Throwable {
        if (nim == null) {
            throw new Throwable("nim harus diisi");
        }
        this.nim = nim;
    }

    public static void main(String args[]) {
        try {
            Mahasiswa m1 = new Mahasiswa();
            m1.setNim(null);
        } catch (Throwable e) {
            System.out.println("terjadi error");
            System.out.println(e.getMessage());
        } finally {
            System.out.println("program tetap jalan, apapun yang terjadi");
        }
    }
}
contoh penggunaan block finally

0 komentar:

Posting Komentar