JavaScript coba...tangkap...akhirnya
Contoh
Contoh ini memiliki kesalahan ketik di blok try . Peringatan salah eja.
Blok catch menangkap kesalahan dan mengeksekusi kode untuk menanganinya:
<p id="demo"></p>
<script>
try {
adddlert("Welcome guest!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
</script>
Lebih banyak contoh di bawah ini.
Definisi dan Penggunaan
Ketika terjadi kesalahan , JavaScript akan berhenti dan menghasilkan pesan kesalahan.
Catatan
Istilah teknis untuk ini adalah: JavaScript melempar pengecualian .
JavaScript membuat objek Error dengan dua properti: name dan message .
Pernyataan try...catch...finally
kombo menangani kesalahan tanpa menghentikan JavaScript.
Pernyataan try
tersebut mendefinisikan blok kode yang akan dijalankan (untuk mencoba).
Pernyataan catch
tersebut mendefinisikan blok kode untuk menangani kesalahan apa pun.
Pernyataan finally
mendefinisikan blok kode untuk dijalankan terlepas dari hasilnya.
Pernyataan throw
mendefinisikan kesalahan kustom.
Keduanya catch
dan finally
opsional, tetapi Anda harus menggunakan salah satunya.
Catatan
Menggunakan throw dengan try and catch , memungkinkan Anda mengontrol aliran program dan menghasilkan pesan kesalahan khusus.
Lihat juga:
Sintaksis
try {
tryCode - Code block to run
}
catch(err) {
catchCode -
Code block to handle errors
}
finally {
finallyCode - Code block to be executed regardless of the try result
}
Parameter
Parameter | Description |
tryCode | Required. Code block to be tested while executing. |
err | A local reference to the error object. |
catchCode | Optional. Code block to execute if an error occurs. |
finallyCode | Optional. Code block to execute regardless of the try result |
Lebih Banyak Contoh
Contoh ini memeriksa input.
Jika nilainya salah, pengecualian (err) dilemparkan:
<p>Please input a number between
5 and 10:</p>
<input id="demo" type="text">
<button type="button"
onclick="myFunction()">Test Input</button>
<p id="message"></p>
<script>
function myFunction() {
const message =
document.getElementById("message");
message.innerHTML = "";
let x =
document.getElementById("demo").value;
try {
if(x == "") throw "is Empty";
if(isNaN(x)) throw "not a number";
if(x > 10) throw "too high";
if(x < 5) throw "too low";
}
catch(err) {
message.innerHTML =
"Input " + err;
}
}
</script>
Pernyataan akhirnya mengeksekusi kode, setelah terlepas dari hasil percobaan:
function myFunction()
const message =
document.getElementById("message");
message.innerHTML = "";
let x =
document.getElementById("demo").value;
try {
if(x == "") throw "Empty";
if(isNaN(x))
throw "Not a number";
if(x >
10) throw "Too high";
if(x <
5) throw "Too low";
}
catch(err)
{
message.innerHTML = "Error: " +
err + ".";
}
finally {
document.getElementById("demo").value = "";
}
}
Dukungan Peramban
try...catch
adalah fitur ECMAScript3 (ES3).
ES3 (JavaScript 1999) didukung penuh di semua browser:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |