Menu
CoddyTech

Dasar Try-Catch

Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 40 dari 59.

Blok try-catch di Java digunakan untuk menangani pengecualian (error) yang mungkin terjadi saat program dijalankan. Kode yang mungkin memunculkan pengecualian berada di blok try, dan kode untuk menangani error berada di blok catch.

Berikut struktur dasar blok try-catch:

try {
   // Kode yang mungkin menimbulkan pengecualian
} catch (ExceptionType e) {
   // Kode untuk menangani pengecualian
}

Mari kita lihat cara kerjanya dengan Integer.parseInt(), yang mengonversi String menjadi bilangan bulat:

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

Setelah menjalankan kode di atas, outputnya adalah:

Error: Not a valid number

Satu try dapat diikuti beberapa blok catch, satu untuk setiap tipe exception. Java menjalankan blok pertama yang tipenya cocok dengan exception yang dilempar:

try {
   int number = Integer.parseInt(text);
   System.out.println(10 / number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
} catch (ArithmeticException e) {
   System.out.println("Error: Division by zero");
}
challenge icon

Tantangan

Mudah

Buat method bernama divideNumbers yang menerima tiga argumen:

  1. String (num1) yang mewakili angka pertama
  2. String (num2) yang mewakili angka kedua
  3. Bilangan bulat (index) yang mewakili indeks array

Method tersebut harus:

  1. Membuat array berukuran 2
  2. Menyimpan nilai bilangan bulat hasil parsing dari num1 dibagi nilai bilangan bulat hasil parsing dari num2 pada indeks yang diberikan
  3. Mengembalikan nilai pada indeks yang diberikan
  4. Menangani semua exception yang mungkin terjadi, lalu mengembalikan pesan error yang sesuai

Pesan yang dikembalikan harus berupa:

  • Untuk NumberFormatException: "Error: Invalid number format"
  • Untuk ArithmeticException: "Error: Division by zero"
  • Untuk ArrayIndexOutOfBoundsException: "Error: Invalid array index"
  • Untuk operasi yang berhasil: kembalikan hasil sebagai string

Coba sendiri

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // Tulis kodemu di sini
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num1 = scanner.nextLine();
        String num2 = scanner.nextLine();
        int index = Integer.parseInt(scanner.nextLine());
        
        System.out.println(divideNumbers(num1, num2, index));
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika & Alur

Latihan sendiri: Compiler Java online