js使用try,catch,throw

先上代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<p>请输入 510 之间的一个数:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">检测输入</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 "为空";
        if(isNaN(x)) throw "不是一个数字";
        if(x > 10)   throw "太大了";
        if(x < 5)    throw "太小了";
    }
    catch(err) {
        message.innerHTML = "输入的值 " + err;
    }
}
</script>

try…catch语句的意思是:如果try代码块里的语句发生了错误哦,则执行catch内的代码。
利用该语句的以上规则,可以再利用一下throw语句。
throw语句的含义是抛出一个自定义错误(专业一点叫抛出异常),语句后面引号中的内容是自定义错误的内容。于是,把throw写入try后,有了生造的错误。这时候再利用if语句,即可完成以上代码中的结构。如果不这样写,就需要新建一个变量存储原本抛出的自定义错误内容。(也不麻烦,用的代码行数是一样的。)
其实try…catch语句有点像if…else语句,只不过在try是一个自带条件的if(这个条件即为出现错误),在catch处,自动新建了一个名为err的变量存储错误文本。

使用try还有一个好处,如果try代码块里发生了错误,不会终止脚本的执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值