tutorial pengembangan web terbaru
 

JavaScript Kesalahan - Lemparkan dan Cobalah untuk menangkap


The try Pernyataan memungkinkan Anda menguji blok kode untuk kesalahan.

The catch pernyataan memungkinkan Anda menangani kesalahan.

The throw pernyataan memungkinkan Anda membuat kesalahan kustom.

Akhirnya Pernyataan memungkinkan Anda mengeksekusi kode, setelah mencoba dan menangkap, terlepas dari hasilnya.


Kesalahan yang Akan Terjadi!

Ketika mengeksekusi kode JavaScript, kesalahan yang berbeda dapat terjadi.

Kesalahan dapat coding kesalahan yang dibuat oleh programmer, kesalahan karena masukan yang salah, dan hal-hal tak terduga lainnya:

Contoh

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

</body>
</html>
Cobalah sendiri "

Dalam contoh di atas kita telah membuat kesalahan ketik dalam kode (di blok try).

The catch blok menangkap kesalahan, dan mengeksekusi kode untuk menanganinya.


JavaScript try dan catch

The try pernyataan memungkinkan Anda untuk menentukan blok kode yang akan diuji untuk kesalahan ketika sedang dijalankan.

The catch pernyataan memungkinkan Anda untuk menentukan blok kode yang akan dieksekusi, jika terjadi kesalahan dalam blok try.

Laporan JavaScript try dan catch datang berpasangan:

try {
    Block of code to try
}
catch(err) {
    Block of code to handle errors
}

JavaScript dapat Naikkan Kesalahan

Ketika terjadi kesalahan, JavaScript biasanya akan berhenti, dan menghasilkan pesan kesalahan.

Istilah teknis untuk ini adalah: JavaScript akan menaikkan (atau melempar) pengecualian.


The throw Pernyataan

The throw pernyataan memungkinkan Anda untuk membuat kesalahan kustom.

Secara teknis Anda dapat meningkatkan (membuang) pengecualian.

Pengecualian dapat menjadi String JavaScript, Nomor, Boolean atau Object:

throw "Too big";    // throw a text
throw 500;          // throw a number

Jika Anda menggunakan throw bersama-sama dengan try dan catch , Anda dapat mengontrol aliran program dan menghasilkan pesan kesalahan kustom.


Validasi Input Contoh

Contoh ini meneliti masukan. Jika nilai yang salah, pengecualian (err) dilemparkan.

pengecualian (err) ditangkap oleh pernyataan menangkap dan pesan kesalahan kustom ditampilkan:

<!DOCTYPE html>
<html>
<body>

<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() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "empty";
        if(isNaN(x)) throw "not a number";
        x = Number(x);
        if(x < 5) throw "too low";
        if(x > 10) throw "too high";
    }
    catch(err) {
        message.innerHTML = "Input is " + err;
    }
}
</script>

</body>
</html>
Cobalah sendiri "

Validasi HTML

Kode di atas hanyalah contoh.

browser modern akan sering menggunakan kombinasi JavaScript dan built-in validasi HTML, menggunakan aturan validasi yang telah ditetapkan didefinisikan dalam HTML atribut:

<input id="demo" type="number" min="5" max="10" step="1"

Anda dapat membaca lebih lanjut tentang bentuk validasi di bab selanjutnya dari tutorial ini.


The finally Pernyataan

The finally Pernyataan memungkinkan Anda mengeksekusi kode, setelah try dan catch , terlepas dari hasilnya:

try {
    Block of code to try
}
catch(err) {
    Block of code to handle errors
}
finally {
    Block of code to be executed regardless of the try / catch result
}

Contoh

function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "is empty";
        if(isNaN(x)) throw "is not a number";
        x = Number(x);
        if(x > 10) throw "is too high";
        if(x < 5) throw "is too low";
    }
    catch(err) {
        message.innerHTML = "Error: " + err + ".";
    }
    finally {
        document.getElementById("demo").value = "";
    }
}
Cobalah sendiri "