Rumah > hujung hadapan web > tutorial js > Perbincangan ringkas tentang kemahiran pengendalian statements_javascript pengecualian JavaScript

Perbincangan ringkas tentang kemahiran pengendalian statements_javascript pengecualian JavaScript

WBOY
Lepaskan: 2016-05-16 15:52:26
asal
1519 orang telah melayarinya

Ralat pasti akan berlaku semasa menjalankan program, dan keputusan berjalan selepas ralat selalunya tidak betul, oleh itu, program yang membuat ralat semasa berjalan biasanya ditamatkan secara paksa. Ralat masa jalan secara kolektif dipanggil pengecualian Untuk mendapatkan peluang untuk mengendalikan ralat apabila ia berlaku, JavaScript menyediakan pernyataan pengendalian pengecualian. Mengandungi cuba-tangkap, cuba-tangkap-akhirnya dan baling.

kenyataan cuba tangkap

try{
tryStatements
}
catch(exception){
catchStatements
}
Salin selepas log masuk

Perihalan parameter:
tryStatements: diperlukan. Urutan pernyataan di mana ralat mungkin berlaku.
pengecualian: diperlukan. Mana-mana nama pembolehubah yang digunakan untuk merujuk objek ralat apabila ralat berlaku.
catchStatements: pilihan. Pernyataan pengendalian ralat, digunakan untuk mengendalikan ralat yang berlaku dalam tryStatements.
Semasa pengekodan, pernyataan di mana ralat mungkin berlaku biasanya ditulis ke dalam pendakap kerinting blok cuba, dan ralat dikendalikan dalam blok tangkapan berikutnya. Maklumat ralat terkandung dalam objek ralat (Objek ralat), yang boleh diakses melalui rujukan pengecualian. Tentukan cara mengendalikan berdasarkan maklumat ralat dalam objek ralat.

<script type="text/javascript">
try{
var n = error; //人为引发一个错误,error未定义就使用
}
catch(e){
alert((e.number&0xFFFF) + "号错误:" + e.description); //错误处理:仅输出错误信息
}
</script>
Salin selepas log masuk

Coretan kod ini menggunakan struktur cuba tangkap untuk mengendalikan ralat masa jalan program dan baris 4 menimbulkan ralat secara buatan. Blok tangkapan pada baris 6~9 menangkap ralat dan mengendalikannya.
Petua: Ralat JavaScript ialah ralat masa jalan dan ralat sintaks ditemui semasa fasa kompilasi Ralat masa jalan ditemui semasa proses pengendalian ralat hanya boleh mengendalikan ralat masa jalan.

pernyataan cuba-tangkap-akhirnya

try{
tryStatements;
}
catch( exception ){
handleStatements;
}
finally{
fianllyStatements;
}
Salin selepas log masuk

Perihalan parameter:
tryStatements: diperlukan, pernyataan yang mungkin menyebabkan pengecualian.
handleStatements: pilihan, pernyataan pengendalian pengecualian.
FianllyStatements: Pilihan, pernyataan yang dilaksanakan tanpa syarat selepas pelaksanaan prosedur lain.
Walaupun tiada ralat berlaku, pernyataan dalam blok akhirnya akan dilaksanakan pada penghujungnya, dan kod pembersihan sumber biasanya diletakkan di sini.
Pengecualian dilemparkan secara buatan semasa melintasi tatasusunan dengan nama Apple.

<script type="text/javascript">
try{
var fruit = new Array("鸭梨","苹果","葡萄","李子");

for( n=0;n<fruit.length;m++)
{
document.write(fruit[n] + "");
}
}
catch( e )
{
alert( (e.number&0xFFFF) + "号错误:" + e.description );
}
finally{
fruit = null;
alert("fruit="+fruit+"已经断开fruit数组的引用!");
}
</script>

Salin selepas log masuk

Baris 5 coretan kod ini menggunakan pembolehubah tidak ditentukan m, mencetuskan pengecualian secara buatan. Baris 11 hingga 13 menangkap pengecualian dan mengendalikannya. Blok akhirnya dalam baris 14 hingga 18 membersihkan sumber Pernyataan ini dilaksanakan tanpa syarat untuk memastikan sumber yang diduduki oleh susunan buah tidak bocor.

lempar kenyataan

Berbilang pernyataan pengendalian pengecualian boleh disarangkan. Apabila berbilang struktur bersarang, pernyataan cuba-tangkap dalam lapisan dalam boleh membuangnya jika ia tidak berniat untuk mengendalikan pengecualian itu sendiri. Pernyataan cuba tangkap ibu bapa boleh menerima pengecualian yang dilemparkan oleh kanak-kanak dan operasi lontaran menggunakan pernyataan lontaran.
melontar ekspresi;
Nilai ungkapan dikeluarkan sebagai objek mesej ralat, yang akan ditangkap oleh pernyataan tangkapan. Pernyataan lontaran boleh digunakan di mana-mana sahaja di mana pengecualian bertujuan untuk dilemparkan.
Biasanya 0 tidak boleh digunakan sebagai pembahagi, jadi anda boleh menentukan pengecualian dan membuangnya jika pembahagi adalah 0.

<script>
try{
var dividend = 100; //被除数
var parts = 0; //除数
if( parts == 0){ //如果除数为0则抛出异常
throw "Error:parts is zero"; //抛出异常
}
alert("每人" + dividend/parts + "份"); //输出提示信息
}
catch(e){ //此处将捕获try块中抛出的异常
alert(e); //用对话框输出错误对象的信息
}
</script>
Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

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