Ringkasan contoh pengendalian pengecualian dalam kemahiran programming_javascript javascript

WBOY
Lepaskan: 2016-05-16 15:28:52
asal
1229 orang telah melayarinya

Contoh dalam artikel ini meringkaskan kaedah pengendalian pengecualian dalam pengaturcaraan JavaScript. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Kata Pengantar: Dalam artikel sebelumnya "Ringkasan kaedah penangkapan pengecualian awam biasa dalam pembangunan asp.net", kami meringkaskan pengendalian pengecualian pada pelayan asp.net. Artikel ini mengikuti artikel sebelumnya dan meringkaskan dan membincangkan secara ringkas pengendalian pengecualian JavaScript pada bahagian klien. Dengan cara ini, kami mempunyai pemahaman awal tentang pengendalian pengecualian bahagian pelayan dan pelanggan asp.net.

1. Ralat skrip yang menjengkelkan

Lou Zhu sering bermain 13, tetapi secara amnya tiada kedalaman. Kadang-kadang, saya bergelut untuk memahami petikan dalam bahasa Inggeris, dan akhirnya saya boleh berpura-pura sekali lagi secara mendalam:

Apabila menyemak imbas halaman Web di internet, kita semua telah melihat kotak makluman JavaScript yang memberitahu kami terdapat ralat masa jalan dan bertanya "Adakah anda ingin menyahpepijat?" Mesej ralat seperti ini mungkin berguna untuk pembangun tetapi tidak untuk pengguna . Apabila pengguna melihat ralat, mereka sering meninggalkan halaman Web.

Hei, tidakkah anda faham perenggan di atas? Secara elegan dan kasar, nclouzhu memahami bahawa semasa membuka halaman web, kita semua menghadapi masalah SB seperti ralat skrip muncul pada halaman web dan bertanya "Adakah anda mahu nyahpepijat dari semasa ke semasa? Bukankah ia menjengkelkan? Pengguna biasa lazimnya memilih salib merah di penjuru kanan sebelah atas, tetapi maklumat segera jenis ini mungkin sangat berguna kepada pembangun. Ia boleh dilihat bahawa, saya kao, pemaju tidak normal? ! Nampaknya Lou Zhu salah faham. Sebenarnya, tidak sukar untuk melihat bahawa niat utama teks asal adalah untuk memberitahu kami bahawa ralat skrip dalam halaman web adalah sangat serius dan pengalaman pengguna tidak baik, yang akan "menakutkan" sekumpulan pengguna berpotensi sia-sia.

2. Cara menangani ralat skrip

Dalam js, kami biasanya menangkap dan mengendalikan pengecualian melalui percubaan...tangkap.

try
{
 //Run some code here
}
catch(e)
{
 //Handle errors here
}

Salin selepas log masuk

Dalam kod sebenar, kami mungkin menulis:

function test(){
var txt="";
try{
  alert(aaa);//aaa是未声明的变量
}
catch(e){
  txt="There was an error on this page.\n\n";
  txt+="Error message: " + e.message + "\n\n";
  txt+="Error description: " + e.description + "\n\n";
  txt+="Error name: " + e.name + "\n\n";
  //alert(txt);//正式平台上可能需要注释掉该行
  }
}

Salin selepas log masuk

Satu lagi pendekatan biasa ialah mendaftarkan kaedah pemprosesan umum untuk peristiwa kesalahan objek tetingkap dan meletakkan kod berikut dalam bahagian

window.onerror=function(){
  return true;
}

Salin selepas log masuk
Kelebihan kaedah di atas ialah jika anda menulisnya sekali pada halaman, ralat skrip yang menjengkelkan tidak akan muncul. Ia adalah pemprosesan yang agak global. Bagi pembangun, cara penulisan ini mungkin menyembunyikan kemungkinan ralat skrip daripada ditemui, jadi fungsi di atas perlu diulas semasa menguji.

3. Ralat dalam javascript

(1), Atribut biasa objek Ralat

Apabila kami menangkap pengecualian, kami biasanya membuang contoh e objek Ralat pada tangkapan Beberapa sifat umum e adalah seperti berikut:

Perihalan Atribut

penerangan Maklumat penerangan pengecualian
mesej Maklumat perihalan abnormal
nama Jenis pengecualian
nombor Kod pengecualian unik

Dalam pembangunan sebenar, pembangun biasanya digesa dengan mesej dan maklumat nama untuk mengendalikan pengecualian dengan cara yang disasarkan.

(2), Jenis objek Ralat

Kami boleh menyemak jenis pengecualian melalui atribut nama dalam (1). Dalam js, terdapat beberapa jenis pengecualian biasa seperti berikut:

TypeError : Dibangkitkan apabila jenis yang tidak dijangka ditemui, seperti pembolehubah tidak diisytiharkan

SyntaxError : Dicetuskan oleh ralat sintaks semasa menghuraikan kod js, seperti skrip pendaftaran bahagian pelayan, kurungan hilang atau tanda petikan, dsb.; ReferenceError: Pengecualian ini dibangkitkan apabila rujukan tidak sah digunakan; EvalError : Dibangkitkan apabila fungsi eval dipanggil dengan salah; RangeError : Dibangkitkan apabila nilai pembolehubah berangka melebihi julatnya; URIError : Dibangkitkan apabila fungsi encodeURI() atau decodeURI() digunakan secara tidak betul.

Dalam pembangunan sebenar, pengendalian pengecualian yang berbeza untuk jenis pengecualian yang berbeza akan membantu kami menemui masalah dengan berkesan dan meningkatkan pengalaman pengguna.

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan