我自己随便写了一个天气的网页,在使用try..catch..来处理地区不正确等问题的时候发现,网页在电脑浏览器内可以实现并且没有任何报错,但在手机浏览器内没法运行。
success: function (data) {
var res = eval("(" + data + ")");
try {
$("#header").text(res.data.city);
for (var i = 0; i < 5; i++) {
$(".day td:eq(" + i + ")").text(res.data.forecast[i].date);
$(".high td:eq(" + i + ")").text(res.data.forecast[i].high);
$(".low td:eq(" + i + ")").text(res.data.forecast[i].low);
$(".wind td:eq(" + i + ")").text(res.data.forecast[i].fengxiang);
$(".type td:eq(" + i + ")").text(res.data.forecast[i].type);
}
}catch{
alert("地区不正确!");
}
//$("table").text(data);
},去掉try..catch之后手机浏览器便能实现功能
success: function (data) {
var res = eval("(" + data + ")");
$("#header").text(res.data.city);
for (var i = 0; i < 5; i++) {
$(".day td:eq(" + i + ")").text(res.data.forecast[i].date);
$(".high td:eq(" + i + ")").text(res.data.forecast[i].high);
$(".low td:eq(" + i + ")").text(res.data.forecast[i].low);
$(".wind td:eq(" + i + ")").text(res.data.forecast[i].fengxiang);
$(".type td:eq(" + i + ")").text(res.data.forecast[i].type);
}
//$("table").text(data);
},
success: function (data) {
var res = eval("(" + data + ")");
try {
$("#header").text(res.data.city);
for (var i = 0; i < 5; i++) {
$(".day td:eq(" + i + ")").text(res.data.forecast[i].date);
$(".high td:eq(" + i + ")").text(res.data.forecast[i].high);
$(".low td:eq(" + i + ")").text(res.data.forecast[i].low);
$(".wind td:eq(" + i + ")").text(res.data.forecast[i].fengxiang);
$(".type td:eq(" + i + ")").text(res.data.forecast[i].type);
}
}catch{
alert("地区不正确!");
}
//$("table").text(data);
},去掉try..catch之后手机浏览器便能实现功能
success: function (data) {
var res = eval("(" + data + ")");
$("#header").text(res.data.city);
for (var i = 0; i < 5; i++) {
$(".day td:eq(" + i + ")").text(res.data.forecast[i].date);
$(".high td:eq(" + i + ")").text(res.data.forecast[i].high);
$(".low td:eq(" + i + ")").text(res.data.forecast[i].low);
$(".wind td:eq(" + i + ")").text(res.data.forecast[i].fengxiang);
$(".type td:eq(" + i + ")").text(res.data.forecast[i].type);
}
//$("table").text(data);
},
try {
//可能会导致错误的代码
} catch (error) {
//在错误发生时怎么处理
}
你少了catch 后面的一对小括号,还有小括号里的 错误对象
如果try块中的任何代码发生了错误,就会立即退出代码执行过程,然后接着执行catch块,此时,catch块会接收到一个包含错误信息的对象。与在其他语言中不同的是,即使你不想使用这个错误对象,也要给它起个名字。
try {
adddlert("欢迎光临!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
$("#header").text(res.data.city);
for (var i = 0; i < 5; i++) {
$(".day td:eq(" + i + ")").text(res.data.forecast[i].date);
$(".high td:eq(" + i + ")").text(res.data.forecast[i].high);
$(".low td:eq(" + i + ")").text(res.data.forecast[i].low);
$(".wind td:eq(" + i + ")").text(res.data.forecast[i].fengxiang);
$(".type td:eq(" + i + ")").text(res.data.forecast[i].type);
}
}catch{
alert("地区不正确!");
}
这个写法在电脑上应该也是有问题的,你用的是什么浏览器。
try {
$("#header").text(res.data.city);
for (var i = 0; i < 5; i++) {
$(".day td:eq(" + i + ")").text(res.data.forecast[i].date);
$(".high td:eq(" + i + ")").text(res.data.forecast[i].high);
$(".low td:eq(" + i + ")").text(res.data.forecast[i].low);
$(".wind td:eq(" + i + ")").text(res.data.forecast[i].fengxiang);
$(".type td:eq(" + i + ")").text(res.data.forecast[i].type);
}
}catch(e){
alert("地区不正确!");
}
catch的后面要加(e)表示捕获到异常的对象。