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回调;

posted @ 2016-03-23 17:16  挥刀  阅读(8536)  评论(0编辑  收藏  举报