我正在解决黑客级别的挑战,并且在解决该问题中的一个挑战时,我没有指定任何return语句,因为我不想返回任何东西,而只返回在控制台上打印内容的函数。稍后在执行时,输出显示未定义和一些控制台语句。
function isPositive(a) {
try {
if (a > 0)
console.log('YES');
else if (a === 0)
throw "error1"
else if (a < 0)
throw "error2"
}
catch (err)
{
if(err == "error1")
console.log('Zero Error');
else if (err == "error2")
console.log('Negative Error');
}
}
预期 是 是 是的
实际输出 是 未定义 是 未定义 是 未定义
答案 0 :(得分:1)
当我将控制台语句更改为返回时,它正在工作。
function isPositive(a) {
try {
if (a > 0)
return 'YES';
else if (a === 0)
throw "error1"
else if (a < 0)
throw "error2"
}
catch (err)
{
if(err === "error1")
return 'Zero Error';
else if (err === "error2")
return 'Negative Error';
}
}