javascript - 尝试 Catch 函数不返回值

标签 javascript

我正在处理一个项目,我们有一个自定义的 Try Catch 函数,我们将所有函数都包装在其中。 Try Catch函数是这样的

function TryCatch(fxn) {
    try {
        //this is the function code that should be called
        fxn();
    } catch (err) {
        //an error occurred. attempt to log it back to the server
        TryLogError("", err, false);
    }
}

我们这样使用它

function NewAdministratorDataToSubmit() {
    TryCatch(function () {
        var admin = {
            administratorName: $("#txtNewAdmin").val(),
            administratorPassword: $("#txtPassword").val(),
            administratorEmail: $("#txtAdministratorEmail").val(),
            administratorRoleID: $("#AdminRoles").val(),
            LoginUserName: $("#txtNewAdminUserName").val()
        };
        return admin;
    });
}

但是,由于我们将它包装成那样,所以我们没有得到返回值。

我试过这样做

function NewAdministratorDataToSubmit() {
    return {
            TryCatch(function () {
                var admin = {
                    administratorName: $("#txtNewAdmin").val(),
                    administratorPassword: $("#txtPassword").val(),
                    administratorEmail: $("#txtAdministratorEmail").val(),
                    administratorRoleID: $("#AdminRoles").val(),
                    LoginUserName: $("#txtNewAdminUserName").val()
                };
                return admin;
            });
        }
}

然后抛出错误,例如 在传递的函数中

The Use Of a Keyword for an Identifier is invalid

和结束

TryCatch is Syntax Error

因此,我需要修复 TryCatch 函数以返回值,或者向仅返回值的函数添加返回。但并不是所有的函数都有返回值

TryCatch 用于所有函数。

有什么想法吗?

最佳答案

您缺少 return 语句。

function TryCatch(fxn) {
    try {
        return fxn(); // return the result of the function call
    } catch (err) {
        TryLogError("", err, false);
    }
}

关于javascript - 尝试 Catch 函数不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356237/

相关文章:

javascript - IOS WKWebView 和 UIWebView 没有加载 JavaScript 注册表单,而 Safari 可以

javascript倒计时回显错误的时间

javascript - 使用 RegEx 模式将字符串拆分为数组

javascript - 如何在纯 JavaScript 中使用 jQuery 方法 'not()'?

javascript - 在 Edge 和 IE 中通过 JavaScript 设置输出元素的值

javascript - knockout foreach 循环迭代相同的数据元素

javascript - 使用 javascript 转换 JSON 结构

javascript - 如何使用 JQuery 创建分页?

javascript - 想要在基于 React 的应用程序中保护 jwt

javascript - 如何在 html 中调用 rootscope 函数 - Angularjs