try...catch语句到底什么用啊? 我知道try...catch是用来检测代码错误的,然后用事先准备的代码也就是catch进行替换,但是我就不能理解了,难道为了使用try..catch而专门错误写代码,然后用catch替换?如果写的代码错误了自己就能查找出来并改正,这个时候还使用try...catch有意义? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说的是js里的try..catch么?可以举个例子function(data) { try { var map = eval("(" + data + ")"); for(var key in map) { // TODO ... } } catch (err) { alert("error occures"); }}你并不知道参数data是不是格式正确,这个时候你需要用try..catch处理你的异常理解了么? 也就是说,try...catch的作用是在自己写代码时,对自己拿不准格式的代码进行检查用的? ...try..catch就是异常处理,我觉得你把异常和bug混合一谈了~~ 使用 try..catch 是为了程序的键壮性,因为函数中有时传入的是变量,你是无法保证不会出错的,使用了try..catch当出现不希望看到的错误时,就可以在catch部分定义处理的方法了。 那什么时候使用呢?难道每一段代码都要加上try...catch进行错误验证?亦或者在需要验证的代码中加入,确定代码正常后移除?真心不懂这玩意 ~~你觉得有可能出错的地方加一下不就是了啊,就像我1楼回的那个例子,比如说data是我页面输入的一个值,你如果不加try..catch的话如果我页面输入了个"[12",那么执行js方法的时候页面就会报错,页面js逻辑可能就跑不下去了,可以如果用了try..catch,当js执行出错的时候,就可以提示用户输入得不对,这就是代码的健壮性。 应该来说,try...catch要尽量少用。 象上面所说的转换json, 是一个特例, 无论用 eval , 还是 jQuery的parseJSON , 如果格式不对都会引起异常, 无法预先判断。但大多数情况下, 变量的类型可用 typeof 来获得的, 知道类型了再判断一下, 大多数的异常可以避免。if( typeof(v)!="undefined" )...... 那可不可以这样理解,密码就是一个变量,如果我输入了一个错误的密码(变量的值不正确),就会提示我密码错误(即catch)? 你这个是校验和异常处理不是一回事儿啊好吧可能是我的例子举得不好。总之你在js里,能不用try..catch就不用。try..catch是有需求的时候(如1楼例子)才用的。一般情况下你都可以根据你的程序需要做判断(如8楼例子),来避免页面js报错。 其实大多数情况,用 if就可以进行判断,尽量少使用try catch 一棵树,传入树中某一个节点值,如何通过这个节点值得到他的所有子 谁有用js写的大数计算器? js定时器的问题 求写一个方法,关于页面确认判断的? Microsoft JScript 运行时错误: 缺少对象 (求教高手)关闭弹出窗口时提交 问一个表单取值的问题, javascript的问题 简单问题,如何修改FORM中文本框中按回车后的行为。 谁知道以下功能怎么实现啊? 新手学jquery js检测友情链接代码怎么写
try {
var map = eval("(" + data + ")");
for(var key in map) {
// TODO ...
}
} catch (err) {
alert("error occures");
}
}
你并不知道参数data是不是格式正确,这个时候你需要用try..catch处理你的异常
理解了么?
...try..catch就是异常处理,我觉得你把异常和bug混合一谈了~~
~~你觉得有可能出错的地方加一下不就是了啊,就像我1楼回的那个例子,比如说data是我页面输入的一个值,你如果不加try..catch的话如果我页面输入了个"[12",那么执行js方法的时候页面就会报错,页面js逻辑可能就跑不下去了,可以如果用了try..catch,当js执行出错的时候,就可以提示用户输入得不对,这就是代码的健壮性。
象上面所说的转换json, 是一个特例, 无论用 eval , 还是 jQuery的parseJSON , 如果格式不对都会引起异常, 无法预先判断。但大多数情况下, 变量的类型可用 typeof 来获得的, 知道类型了再判断一下, 大多数的异常可以避免。if( typeof(v)!="undefined" )
......
你这个是校验和异常处理不是一回事儿啊
好吧可能是我的例子举得不好。总之你在js里,能不用try..catch就不用。
try..catch是有需求的时候(如1楼例子)才用的。一般情况下你都可以根据你的程序需要做判断(如8楼例子),来避免页面js报错。