使用:
节点.js
问题:
今天在重构我的代码时,我看到了这些行。关于它们的有趣之处在于,try catch 中的每个替代行都可能导致异常,因此代码可能会崩溃。对于我遵循的做法,应该专门处理每个单独的异常,并且最少(有用的)代码行应该在 try catch 中。作为程序员,我应该遵循哪种方法(A、B、其他)?为什么?我个人会选择 A,因为它减少了代码的行数。
代码 A:
function(err, someData, res){
    if(err){
        console.error(err);
    } else{
        try{
            data = JSON.parse(someData); //exception expected
            if(someVariable == "abc"){
                var items = data['a']; //exception expected
            } else if(site == "xyz"){
                var items = data['b']; //exception expected
            }
        } catch(err){
            console.error(err);
        }
}
代码 B:
function(err, someData, res){
    if(err){
        console.error(err);
    } else{
        try{
            data = JSON.parse(someData); //exception expected
        } catch(err){
            console.error(err);
        }
        if(someVariable == "abc"){
            try{
                var items = data['a']; //exception expected
            } catch(err){
                console.error(err);
            }
        } else if(site == "xyz"){
            try{
                var items = data['b']; //exception expected
            } catch(err){
                console.error(err);
        }
            }
}