TypeError处理

时间:2015-11-06 18:23:36

标签: javascript node.js encryption

我使用节点包Easy-encryption(https://www.npmjs.com/package/easy-encryption)。该包加密和解密字符串。如果解密创建了easy-encryption字符串,那好吧。但是如果解密不正确的字符串,那么服务器会丢弃并返回:

示例不正确的解密:

var crypt = new Crypt({
    secret: crypt_config.secret,
    iterations: crypt_config.iterations
});

var result = crypt.decrypt('test');

结果:

crypto.js:122
  this.push(this._handle.update(chunk, encoding));
                         ^

TypeError: Bad input string
    at TypeError (native)
    at Decipher.Cipher._transform (crypto.js:122:26)
    at Decipher.Transform._read (_stream_transform.js:167:10)
    at Decipher.Transform._write (_stream_transform.js:155:12)
    ...

如何在发生错误时使服务器继续工作并处理错误?

1 个答案:

答案 0 :(得分:1)

如果要继续执行,请将代码封装在try catch语句中。

var crypt = new Crypt({
    secret: crypt_config.secret,
    iterations: crypt_config.iterations
});

try{
    var result = crypt.decrypt('test');
}
catch(err){
    alert(err);
}

但是,正如评论所说,你真的传递了正确的数据类型吗?这对你没有多大帮助。