在下面的功能中,Catch不起作用。无法获取错误消息。
function reverseString(s) {
var ary = s.split("");
ary.reverse();
try {
console.log(ary.join(""));
} catch (err) {
console.log(err);
}
}
reverseString(1234);
最佳答案
在开始进行计算之前,请确保s
是string
。
将s
转换为string
:
function reverseString(s) {
var ary = String(s).split("");
ary.reverse();
try {
console.log(ary.join(""));
} catch (err) {
console.log(err);
}
}
reverseString(1234);
如果
s
不是字符串,则抛出一个自定义错误:function reverseString(s) {
if (typeof s !== "string") throw Error("s is not a string");
// or
// if (typeof s.split !== "function") throw Error("split is not supported");
var ary = s.split("");
ary.reverse();
try {
console.log(ary.join(""));
} catch (err) {
console.log(err);
}
}
try {
reverseString(1234);
} catch (err) {
console.log("Error: " + (err && err.message));
}
try {
reverseString("1234");
} catch (err) {
console.log("Error: " + (err && err.message));
}
关于javascript - 尝试可以正常工作,但Catch在Javascript函数中不起作用,如下所述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56543853/