Menu
CoddyTech

Blok 'try-catch'

Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 39 dari 65.

Sekarang setelah kamu memahami apa itu exception, mari pelajari cara menanganinya dengan baik menggunakan blok try-catch. Ini adalah alat dasar yang mencegah programmu mengalami crash saat terjadi kesalahan.

Blok try-catch bekerja dengan membungkus kode yang berpotensi menimbulkan masalah dalam bagian try. Jika terjadi pengecualian, alih-alih membuat programmu crash, Dart langsung berpindah ke bagian catch, tempat kamu dapat menangani error dengan tepat.

try {
  // Kode yang mungkin menyebabkan pengecualian
  int number = int.parse("abc");
} catch (e) {
  // Kode yang dijalankan jika terjadi pengecualian
  print("Something went wrong: $e");
}

Dalam contoh ini, mencoba mengonversi string "abc" menjadi bilangan bulat biasanya akan membuat programmu crash. Namun, karena kode tersebut dibungkus dalam blok try, exception ditangkap dan ditangani di blok catch. Variabel e berisi informasi tentang apa yang salah.

Pendekatan ini memungkinkan programmu terus berjalan meskipun terjadi situasi yang tidak terduga, sehingga kodemu jauh lebih tangguh dan mudah digunakan.

challenge icon

Tantangan

Mudah

Buat program yang mengonversi string input pengguna menjadi angka dengan aman menggunakan blok try-catch. Programmu harus menangani kasus ketika input mungkin bukan angka yang valid dan mencegah program mengalami crash.

  1. Baca input string yang mewakili angka yang perlu dikonversi menjadi integer
  2. Gunakan blok try-catch untuk mencoba konversi dengan aman menggunakan int.parse()
  3. Jika konversi berhasil, hitung kuadrat angka tersebut, yaitu kalikan angka itu dengan dirinya sendiri
  4. Jika konversi gagal dan terjadi exception, tangani error dengan baik
  5. Tampilkan hasil atau pesan error yang sesuai dengan format persis seperti yang ditunjukkan di bawah

Misalnya, jika inputnya adalah "5", programmu harus menampilkan:

Processing input: 5
Conversion successful!
The square of 5 is: 25

Jika inputnya adalah "abc", programmu harus menampilkan:

Processing input: abc
Error: Cannot convert 'abc' to a number
Please enter a valid integer

Jika inputnya adalah "12", programmu harus menampilkan:

Processing input: 12
Conversion successful!
The square of 12 is: 144

Programmu harus menggunakan blok try-catch untuk membungkus operasi int.parse(). Di bagian try, coba konversi string input menjadi integer dan hitung kuadratnya. Di bagian catch, tangani exception apa pun yang terjadi selama konversi dan tampilkan pesan error yang sesuai. Program harus terus berjalan secara normal, baik konversi berhasil maupun gagal.

Coba sendiri

import 'dart:io';

void main() {
  // Baca string input
  String? input = stdin.readLineSync();
  
  // Tampilkan pesan pemrosesan
  print('Processing input: $input');
  
  // TODO: Tulis kodemu di bawah ini
  // Gunakan blok try-catch untuk mengubah input menjadi bilangan bulat dengan aman
  // Hitung kuadratnya jika konversi berhasil
  // Tangani setiap pengecualian yang terjadi selama konversi
  
}
quiz iconUji dirimu

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

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Dart online