【发布时间】:2018-07-05 19:15:37
【问题描述】:
我正在对某些对象进行验证。此代码通过validationRule 和validateObj 的keyN 进行了一定的验证。
每当出现错误和值不匹配时,我都需要实现一个 try catch 来记录日志。
function validationKey(keyN) {
var valObj = window.config.validationRule;
if (typeof(validateObj[keyN]) != 'undifined') {
for (i = 0; i < validateObj[keyN].validationTypes[i] {
switch (validateObj[keyN].validationTypes[i]) {
case (dataType):
if (typeof(_dl[keyN]) == validateObj[keyN].exceptionDataType) {
console.log(keyN + "..value matched");
} else {
console.log(keyN + "..is not matched");
}
break;
case ('length'):
if (_dl[keyN].length != validateObj[keyN].exceptionLength) {
console.log(keyN + "..value matched");
} else {
console.log(keyN + "..is not matched");
}
break;
default:
console.log(_dl[keyN] + "..not validated as no rule defined");
}
}
}
else {
console.log("No validation Object available");
}
我使用了如下的 try-catch。它没有给出任何输出
try {
validationKey(keyN);
} catch (e) {
console.log(e);
}
【问题讨论】:
-
除非validationKey实际上有一些错误,比如使用未定义的变量,除非您明确执行
throw error,否则您的catch不会被触发
标签: javascript function try-catch