javascript - 关于try、catch、throw的问题?
PHP中文网
PHP中文网 2017-05-19 10:31:16
[JavaScript讨论组]
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)
PHP中文网

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

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

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

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

漂亮男人

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

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

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

可以这样啊

怪我咯

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号