JavaScript 异常处理
在通常的开发语言之中,都会有异常处理的功能,而JavaScript也和其他的开发语言一样,可使用异常处理来对相关功能添加异常信息:
异常处理格式
1 2 3 4 5 6 7
| try { } catch (e) { } finally { }
|
在JavaScript之中,与Java一样 try……catch……finally中的finally也就是说无论是否错误,finally都会被执行一次
try……catch……finally
try
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> var data=""; function message(){ try { data = "Hello,world"; } catch(err) { data = "错误 " + err.message + "\n"; } finally {
alert(data); } } </script> </head> <body> <input type="button" value="开始" onclick="message()" /> </body> </html>
|
finally
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> var data=""; function message(){ try { adddlert("err"); } catch(err) { data = "错误 " + err.message + "\n"; } finally { alert(data); } } </script> </head> <body> <input type="button" value="开始" onclick="message()" /> </body> </html>
|
Throw
Throw与上述的try……catch……finally的区别就是throw是一个方法,可使用“Throw”自定义错误消息,如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <input id="demo" type="text"> <button type="button" onclick="myFunction()">开始</button> <p id="message"></p> <script> function myFunction() { var message,data; message = document.getElementById("message"); message.innerHTML = ""; data = document.getElementById("demo").value; try { if (data == "") { throw "请输入数值"; } if (isNaN(data)) throw "请输入数字"; data = Number(data); if (data < 10) throw "小数"; if (data > 100) throw "超常规"; } catch(err) { message.innerHTML = "错误: " + err; } } </script> </body> </html>
|
表单属性 (required)
当表单处于为空时,可通过required浏览器自带功能进行判断,如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body>
<form method="post"> <input type="text" name="fname" required="required"> <input type="submit" value="开始"> </form>
</body> </html>
|
ID |
DA |
FA |
throw |
自定义错误 |
js |
|
|
|
required |
浏览器检测空表单 |
html |
⬅️ Go back