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");
}Tantangan
MudahBuat method bernama divideNumbers yang menerima tiga argumen:
- String (
num1) yang mewakili angka pertama - String (
num2) yang mewakili angka kedua - Bilangan bulat (
index) yang mewakili indeks array
Method tersebut harus:
- Membuat array berukuran 2
- Menyimpan nilai bilangan bulat hasil parsing dari num1 dibagi nilai bilangan bulat hasil parsing dari num2 pada indeks yang diberikan
- Mengembalikan nilai pada indeks yang diberikan
- 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));
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
1Array Multidimensi
Dasar Array 2DMengakses Elemen Array 2DLoop Bersarang dengan Array 2DRangkuman: Array 2DPenjumlahan dan Pengurangan MatriksArray BergerigiArray 3D dan Lebih JauhPola Umum Array 2DRangkuman: Semua tentang Array2HashMap Bagian 1
Apa itu HashMap?Deklarasikan HashMapMengakses nilaiPeriksa apakah key adaMengubah dictionaryRingkasan: HashMap3HashMap Bagian 2
Method HashMapIterasi dengan keySet()Iterasi dengan entrySet()HashMap BersarangRangkuman: Kelola GudangRangkuman: Operasi HashMap6Alur Kontrol Lanjutan
Pernyataan LabelEkspresi SwitchPencocokan PolaKlausa PenjagaRingkasan Alur Kontrol9Proyek: Penghitung Kata Unik
Input dan Penyimpanan TeksPemrosesan KataLatihan sendiri: Compiler Java online