javascript - 关于try、catch、throw的问题?
PHP中文网
PHP中文网 2017-05-19 10:31:16
0
4
529
try{
    var num = pompt("请输入5~10");
}
catch(err){
    console.log(err);
    console.log(err + "这里我随便加上一段字符串");
}

上述代码中,console.log(err);在控制台是这样输出的:ReferenceError: pompt is not defined at index.html:37,有提示行号。
但是console.log(err + "这里我随便加上一段字符串");在控制台中输出是这样的:ReferenceError: pompt is not defined这里我随便加上一段字符串,加上了一段字符串,就没有提示错误行号。这是什么原因呢?

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
Ty80

第一句打印的是一个对象。

第二句打印的是一个字符串。即err.toString() + "这里我随便加上一段字符串"

try{
    var num = pompt("请输入5~10");
}
catch(err){
    console.log(err);
    console.log(err.toString());
}

非专业回答,仅供参考-。-

漂亮男人

你log一下err.toString()就知道了

因为err+str,err先调用toString转化为字符串了。

洪涛
try{
    var num = pompt("请输入5~10");
}
catch(err){
    console.log(err);
    console.log(err , "这里我随便加上一段字符串");
} 

可以这样啊

刘奇

err是一个对象形式的数据,加号连接的时候被自动转成字符串了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板