Perintah try/catch/finally dalam JavaScript
- Halaman Sebelumnya throw
- Halaman Berikutnya var
- Kembali ke Lapisan Atas Panduan Referensi Statement JavaScript
Definisi dan penggunaan
Perintah try/catch/finally mengatasi kesalahan yang mungkin terjadi di blok kode, sambil tetap menjalankan kode.
Kesalahan dapat disebabkan oleh kesalahan pemrograman penulis kode, kesalahan masukan yang salah, dan situasi yang tak terduga lainnya.
Perintah try memungkinkan Anda mendefinisikan blok kode yang akan diuji untuk kesalahan saat dieksekusi.
Jika terjadi kesalahan di blok try, pernyataan catch memungkinkan Anda untuk mendefinisikan blok kode yang akan dieksekusi.
Pernyataan finally memungkinkan Anda untuk mengeksekusi kode setelah try dan catch, tanpa mengurangi hasilnya.
Keterangan:Pernyataan catch dan finally adalah pilihan, tetapi saat menggunakan pernyataan try, salah satu dari keduanya harus digunakan (tidak secara bersamaan).
Petunjuk:Ketika terjadi kesalahan, JavaScript biasanya akan berhenti dan menghasilkan pesan kesalahan. Gunakan pernyataan throw untuk membuat kesalahan khusus (membuat eksepsi). Jika throw digunakan bersamaan dengan try dan catch, Anda dapat mengendalikan aliran program dan menghasilkan pesan kesalahan khusus.
Untuk mengetahui lebih banyak tentang kesalahan JavaScript, belajar tutorial kesalahan JavaScript.
Contoh
Pada contoh ini, kami salah menuliskan kata di kode (di blok try).
Pada contoh ini, halaman seharusnya menampilkan "Welcome guest!", tetapi terjadi kesalahan penulisan alert.
Blok catch akan menangkap kesalahan dan mengeksekusi kode untuk menangani dia:
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("Welcome guest!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
Ada banyak contoh TIY lainnya di bawah halaman.
Sintaks
try { tryCode - Blok kode yang akan di cobakan } catch(err) { catchCode - Blok kode untuk menangani kesalahan } finally { finallyCode - Blok kode yang akan dieksekusi tanpa mengurangi hasil try / catch }
Nilai Parameter
Parameter | Deskripsi |
---|---|
tryCode | Diperlukan. Kode blok yang harus dieksekusi saat ada kesalahan. |
err | Diperlukan, jika digunakan bersamaan dengan catch. Tentukan variabel lokal yang merujuk ke kesalahan. Variabel ini dapat merujuk ke objek Error (termasuk informasi tentang kesalahan, seperti pesan "'addlert' is not defined"). Jika kesalahan dihasilkan oleh pernyataan throw, variabel ini merujuk ke objek yang ditentukan dalam pernyataan throw (lihat "Contoh Lebih Banyak"). |
catchCode | Pilihan. Kode blok yang akan dieksekusi jika terjadi kesalahan di blok try. Jika tidak terjadi kesalahan, kode blok ini tidak akan dieksekusi. |
finallyCode | Pilihan. Semua kode blok yang harus dieksekusi, tanpa mengurangi hasil try / catch. |
Detil Teknik
Versi JavaScript: | ECMAScript 3 |
---|
Contoh Lebih Banyak
Contoh
Contoh ini memeriksa input. Jika nilai salah, eksepsi (err) akan dilempar.
pernyataan catch menangkap eksepsi (err) dan menampilkan pesan kesalahan khusus:
<!DOCTYPE html> <html> <body> <p>Masukkan angka antara 5 dan 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 "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> </body> </html>
Contoh
finally pernyataan memungkinkan Anda melaksanakan kode setelah try dan catch, tanpa menghiraukan hasilnya:
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"; if(x > 10) throw "Too high"; if(x < 5) throw "Too low"; } catch(err) { message.innerHTML = "Error: " + err + "."; } finally { document.getElementById("demo").value = ""; } }
browser mendukung
pernyataan | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
try/catch/finally | Dukungan | Dukungan | Dukungan | Dukungan | Dukungan |
Halaman yang Berhubungan
Panduan JavaScript:Kesalahan JavaScript
Panduan Referensi JavaScript:Perintah throw JavaScript
- Halaman Sebelumnya throw
- Halaman Berikutnya var
- Kembali ke Lapisan Atas Panduan Referensi Statement JavaScript