Tidak peduli seberapa hebatnya kita dalam pemograman, terkadang kodingan kita memiliki banyak eror. Mereka mungkin muncul dikarenakan kesalahan kita, input dari user yang tidak terduga, eror respon dari server, dan juga berbagai macam alasan lainnya. Show Biasanya, sebuah kodingan/scrip “terhenti” (tiba-tiba berhenti) dikarenakan adanya eror, menampilkan erornya pada console. Tapi terdapat sebuah sintaks Sintaks “try…catch”Sintaks
Mereka akan bekerja seperti ini:
Jadi, sebuah eror didalam bagian Mari kita lihat contoh lainnya.
Untuk Mereka tidak akan bekerja jika kodingan tersebut secara sintaks salah, sebagai contoh jika mereka memiliki kurung kurawal yang tidak sama:
Mesin Javascript pertama membaca kodingan tersebut, dan menjalankannya. eror yang terjadi pada saat proses pembacaan disebut sebagai eror “parse-time” dan tidak dapat dipulihkan (dari dalam kodingan tersebut). Itu dikarenakan mesin javascript tidak mengerti kodingan . Jadi,
Jika sebuah exception terjadi pada kodingan yang “terjadwal”, seperti pada
Itu dikarenakan fungsi tersebut dijalankan nanti, ketika mesin javascript telah meninggalkan bagian pada Untuk menangkap sebuah exception didalam sebuah fungsi yang terjadwal,
Eror ObjekKetika sebuah eror terjadi, Javascript menghasilkan
sebuah ojek yang berisikan keterangan terkait eror tersebut. Objek itu kemudian dilewatkan sebagai sebuah argumen pada bagian
Untuk semua eror bawaan, eror objek memiliki dua properti utama: name Nama error. sebagai contoh, untuk variable yang belum terdefinisikan maka itu disebut "ReferenceError" .message Pesan yang ada didalam eror tersebut.Terdapat properti non-standard lainnya pada kebanyakan Ada properti non-standar lain yang tersedia di sebagian besar lingkungan. Salah satu yang paling banyak digunakan dan didukung ialah: stack Call stack saat ini: string dengan informasi tentang urutan panggilan bertingkat yang menyebabkan kesalahan. Digunakan untuk tujuan debugging.Sebagai contoh:
“Catch” binding OpsionalTambahan baru-baru ini Ini adalah tambahan terbaru untuk bahasa ini. Browser lama mungkin memerlukan polyfill. Jika kita tidak butuh detail tentang eror,
Menggunakan “try…catch”Mari kita telusuri contoh penggunaan nyata dari Seperti yang telah kita ketahui, Javascript mendukung method JSON.parse(str) yang membaca dari nilai JSON-encoded. Biasanya digunakan untuk memecahkan kode data yang diterima melalui jaringan, dari server atau sumber lain. Kita menerimanya dan memanggil
Kalian dapat menemukan informasi lebih detail tentang JSON di bab <info: json>. Jika format Cukupkah kita puas dengan itu? Tentu saja tidak! Dengan cara ini, jika ada yang salah dengan datanya, pengunjung tidak akan pernah mengetahuinya (kecuali mereka membuka konsol pengembang). Dan orang biasanya tidak suka ketika sesuatu “berhenti begitu saja” tanpa ada pesan kesalahan. Mari gunakan
Di sini kita menggunakan blok Melontarkan eror kita sendiriBagaimana jika Seperti ini:
Di sini Untuk menyatukan penanganan error, kita akan menggunakan operator Operator “Throw”Operator Sintaksnya adalah: Secara teknis, kita dapat menggunakan apapun sebagai eror objek. Technically, we can use anything as an error object. Itu bahkan mungkin dengan data primitif, seperti angka atau string, lebih disarankan menggunakan objek, dan juga dengan properti JavaScript memiliki banyak konstruktor bawaan untuk standar eror: Sintaksnya adalah:
Untuk eror bawaan (bukan untuk objek lainnya, hanya untuk eror), properti Sebagai contoh:
Mari kita lihat jenis kesalahan apa yang dihasilkan
Seperti yang bisa kita lihat, itu adalah Dan dalam kasus ini, tidak adanya Jadi mari kita tampung pada bagian throw:
Di
baris Sekarang RethrowingPada contoh di atas kami menggunakan
Sebagai contoh:
Tentu saja, semuanya bisa! Pemrogram memang membuat kesalahan. Bahkan dalam projek pembantu pada sumber terbuka(open source) yang digunakan oleh jutaan orang selama beberapa dekade – tiba-tiba bug dapat ditemukan yang mengarah ke peretasan yang mengerikan. Dalam kasus kita, Untuk menghindari masalah seperti itu, kita dapat menggunakan teknik “rethrowing”. Aturannya sederhana: Proses throwing hanya akan memproses kesalahan yang diketahui dan “melempar ulang / rethrowing” yang lainnya. Teknik “rethrowing” dapat dijelaskan lebih detail sebagai:
Biasanya, kita dapat memeriksa jenis erornya menggunakan operator
Kita juga bisa mendapatkan nama kelas eror dari properti Pada kode di bawah ini, kita menggunakan teknik rethrowing sehingga
Eror saat yang dilempar pada baris Jadi, blok Contoh di bawah ini menunjukkan bagaimana eror tersebut dapat ditangkap oleh satu level lagi dari blok
Di sini try…catch…finallyTunggu, itu belum semuanya. Blok Jika ada, maka itu akan berjalan di semua kasus:
Contoh sintaks lengkapnya seperti ini:
Try running this code:
Kode tersebut memiliki dua cara eksekusi:
Klausa Misalnya, kami ingin mengukur waktu yang dibutuhkan oleh fungsi bilangan Fibonacci Klausa
Di sini
Kalian dapat memeriksa dengan menjalankan kode dengan memasukkan Dengan kata lain, fungsi tersebut mungkin diakhiri dengan Variables are local inside Tolong diperhatikan bahwa variabel Sebaliknya, jika kita mendeklarasikan
Klausa Pada contoh di bawah ini, terdapat
Bagian
Pada kode di atas,
eror di dalam Catch GlobalEnvironment-specific Informasi dari bagian ini bukan merupakan bagian dari inti JavaScript. Bayangkan kita mendapatkan eror yang fatal di luar Adakah cara untuk bereaksi atas kejadian seperti itu? kita mungkin ingin mencatat kesalahan, menunjukkan sesuatu kepada pengguna (biasanya mereka tidak melihat pesan eror), dll. Tidak ada dalam spesifikasinya, tapi dilingkungan tempat itu bekerja biasanya menyediakannya, karena sangat berguna. Misalnya, Node.js memiliki [ Sintaksnya adalah:
message Pesan eror.url URL pada kodingan tempat kesalahan terjadi.line , col Nomor baris dan kolom ditempat terjadinya kesalahan.error Eror objekSebagai contoh:
Peran dari global handler Ada juga layanan web yang menyediakan pencatatan eror untuk kasus seperti itu, seperti https://errorception.com or http://www.muscula.com. Mereka bekerja seperti ini:
KesimpulanBagian Sintaksnya adalah:
Mungkin tidak ada bagian Eror objek memiliki properti berikut ini:
Jika eror objek tidak diperlukan, kita bisa menghilangkannya dengan menggunakan Kita
juga bisa menghasilkan error kita sendiri menggunakan operator Rethrowing adalah pola yang sangat penting dari penanganan eror: blok Bahkan jika kita tidak memiliki Kapan harus menggunakan try catch?Untuk menangani error di Java, digunakan sebuah statement yang bernama try.. catch. Statement tersebut digunakan untuk mengurung eksekusi yang menampilkan error dan dapat membuat program tetap berjalan tanpa dihentikan secara langsung. Error yang ditangani oleh try.. catch biasa disebut dengan exception.
Apa itu Try Catch java?Java try dan catch
Statement try memungkinkan Anda untuk mendefinisikan blok kode yang akan diuji untuk kesalahan yang akan dieksekusi. Statement catch memungkinkan Anda untuk mendefinisikan blok kode yang akan diuji, jika sebuah error terjadi di dalam blok try.
|