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.
Tantangan
MudahBuat 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.
- Baca input string yang mewakili angka yang perlu dikonversi menjadi integer
- Gunakan blok
try-catchuntuk mencoba konversi dengan aman menggunakanint.parse() - Jika konversi berhasil, hitung kuadrat angka tersebut, yaitu kalikan angka itu dengan dirinya sendiri
- Jika konversi gagal dan terjadi exception, tangani error dengan baik
- 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: 25Jika inputnya adalah "abc", programmu harus menampilkan:
Processing input: abc
Error: Cannot convert 'abc' to a number
Please enter a valid integerJika inputnya adalah "12", programmu harus menampilkan:
Processing input: 12
Conversion successful!
The square of 12 is: 144Programmu 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
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Manipulasi list Tingkat Lanjut
Properti list: first dan lastStatus list: isEmpty dan isNotEmpMembalikkan listMenambahkan ke list: insertMenghapus dari list: removeWhereMencari dalam list: indexOfMengurutkan listMengacak listRekap: Pengatur list4Manipulasi Map Lanjutan
Melakukan perulangan pada MapMemeriksa kunci dan nilaiProperti Map: kunci dan nilaiPenambahan Bersyarat: putIfAbsentMenghapus Entri dari MapMap BersarangRingkasan: Pembaruan Inventaris2Operasi Fungsional pada list
Mengubah dengan 'map'Menyaring dengan 'where'Menggunakan '.toList()'Memeriksa Kondisi dengan 'any'Kondisi dengan 'every'Menemukan dengan 'firstWhere'Ulasan: Penyaringan Data5Proyek: Perhitungan Keranjang Belanja
Menyiapkan ProyekMenambahkan Barang ke Keranjang3set
Apa itu set?Membuat setMenambahkan dan menghapus elemen dari setMemeriksa elemen dalam setMengubah list menjadi setGabungan setIrisan setSelisih setRangkuman: Daftar tamu unik6Penanganan Error Dasar
Apa Itu Pengecualian?Blok 'try-catch'Menangkap Pengecualian dengan 'on'Blok 'finally'Melempar PengecualianRingkasan: Pembagian AmanLatihan sendiri: Compiler Dart online