JSON.parse()的异常怎么处理;
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <script> 9 function aa(str){ 10 var p = new Promise(function(resolve,reject){ 11 var cc = JSON.parse(str); 12 resolve(cc); 13 // reject(JSON.parse(str)); 14 }); 15 return p; 16 } 17 var bb = '["xxx","bbbbb"]'; 18 aa(bb).then(function(b){ 19 console.log(b); 20 }).catch(function(err){ 21 console.log(err); 22 }) 23 </script> 24 </body> 25 </html>
对于JSON.parse的异常处理一般大家只是严格处理json字符串,字符串本身必须带引号,数组的话,数组每一项必须带引号,对象的话,对象的键值都必须带双引号;
所以如果客户端传来的字符串不正确,JSON.parse()会报错,使程序出现异常;从而使程序退出;
这是需要一个程序捕获异常,让程序能正常运行下去;
这里运用了promise捕获异常的方法;
promise对象的catch方法会自动捕获异常程序;不用设置reject回调;
坚持下去就能成功