gpt4 book ai didi

javascript - 你如何退出 JavaScript 中的调用函数?

转载 作者:行者123 更新时间:2023-11-29 09:54:14 25 4
gpt4 key购买 nike

在 JavaScript 中可以从调用函数返回/退出吗?

我们正在向我们的框架添加测试方法,如果断言出现错误,我们希望退出。

鉴于以下简单的示例代码,我想将 EXIT_TEST_THAT_CALLED_ME 交换为将退出(相当于在测试中返回)方法 Test123 的内容。

Assert = function ( expectedTrue, comment ) {
if( ! expectedTrue ) {
Log.Error( comment );
EXIT_TEST_THAT_CALLED_ME;
}
}

Test123 ( ... ) {

var inputField = getInputField(".input");
Assert( (inputField !== null ), "Checking that we found an input field");

inputField.doSomething();
// This row will cause run time error if inputField is null

}

我尝试过的
return - 当然不起作用,因为它只从 Assert 方法返回
arguments.callee.caller.return - 什么都不做
arguments.callee.caller.return() - 没有方法“return”

注意
更改为已经具有此功能并且一切都很好的测试框架不是一种选择。 :(

最佳答案

一种选择是使用 try\catch\throw

Assert = function ( expectedTrue, comment ) {
if( ! expectedTrue ) {
Log.Error( comment );
throw "OOPS";
}
}

try{
// function that users Assert
Test123 ( ... )
}

catch(err){
alert(err);
if (err=="OOPS"){
//special handling for a certain exception
}
}

使用这个流程,异常抛出的那一刻,它会向上传播,直到它到达你处理异常的catch block 。

此外,异常不限于字符串。它可以是整数、 bool 值或对象。

关于javascript - 你如何退出 JavaScript 中的调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15678695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com