try...catch...finally
Kita dapat menambahkan satu konstruksi lagi ke try...catch yang disebut finally, kode ini dieksekusi dalam semua situasi. Artinya, setelah try ketika tidak ada kesalahan dan setelah catch dalam kasus kesalahan. Berikut adalah sintaks untuk try...catch...finally.
try {
// coba eksekusi kode
} catch (err) {
// tangani kesalahan
} finally {
// selalu dieksekusi
}
Menjalankan contoh kode dunia nyata.
try {
alert("try");
} catch (err) {
alert("catch");
} finally {
alert("finally");
}
Di contoh di atas, blok try dieksekusi terlebih dahulu, yang kemudian diikuti oleh finally karena tidak ada kesalahan.
Exercise
Correct!
function divideNumbers(pembilang, penyebut) {
try {
// pernyataan try untuk membagi pembilang dengan penyebut.
} catch (error) {
// mencetak pesan kesalahan
} finally {
// mencetak bahwa eksekusi telah selesai
}
// mengembalikan hasil
}
let jawaban = divideNumbers(10, 2);
function divideNumbers(pembilang, penyebut) {
let hasil;
try {
hasil = pembilang / penyebut;
} catch (error) {
console.error(`Kesalahan: ${error}`);
} finally {
console.log('Fungsi telah selesai dieksekusi');
}
return hasil;
}
let jawaban = divideNumbers(10, 2);
assert(jawaban == 5);