Javascript try…catch-2个相同的调用,只有一个有效

Javascript try…catch-2个相同的调用,只有一个有效,javascript,Javascript,我正在重新设计菜单/子菜单-只是将子菜单从页面底部的某个位置移动到相应菜单项下。现在,相同的子菜单(操作)在页面中出现了两次,只有一次是隐藏的,并在jQuery鼠标悬停时显示。在这两个菜单中,我都有一个选项指向一个带有try…catch块的函数 问题是,当使用jQuery显示的操作时,Javascript在try块中崩溃(“something”是未定义的-经典),就像“try”一词根本不存在一样。我使用了firebug调试器,在使用另一个子菜单时也会发生相同的错误,但这只是被跳过,并且执行了来自

我正在重新设计菜单/子菜单-只是将子菜单从页面底部的某个位置移动到相应菜单项下。现在,相同的子菜单(操作)在页面中出现了两次,只有一次是隐藏的,并在jQuery鼠标悬停时显示。在这两个菜单中,我都有一个选项指向一个带有try…catch块的函数

问题是,当使用jQuery显示的操作时,Javascript在try块中崩溃(“something”是未定义的-经典),就像“try”一词根本不存在一样。我使用了firebug调试器,在使用另一个子菜单时也会发生相同的错误,但这只是被跳过,并且执行了来自内部catch的代码

我只是不明白这怎么可能,因为两个选项调用相同的函数,而不是两个“相同”的函数

有什么想法吗?谢谢:)

编辑I:

function export_pdf() {
            try {
                ReportType=document.forms["down"].elements["ReportType"].value;
            }
            catch (e) {
                ReportType='TDR_Report';
            }

            //other code...
}
错误是“document.forms.down.elements.ReportType未定义”

谢谢

编辑II:

function export_pdf() {
            try {
                ReportType=document.forms["down"].elements["ReportType"].value;
            }
            catch (e) {
                ReportType='TDR_Report';
            }

            //other code...
}
调用函数:

onclick="export_pdf();"

在这种情况下,我会尽量避免尝试。。捕获并测试ReportType。如果ReportType未定义,请手动设置该值

function export_pdf() {

    if (document.forms["down"].elements["ReportType"] === undefined){
        ReportType = 'TDR_Report';
    } else {
        ReportType = document.forms["down"].elements["ReportType"].value;
    }

    //other code...
}

要编辑您的帖子,请单击javascript标记下方的
编辑
按钮,输入修订,完成后单击
保存编辑
按钮。您可以演示如何调用此功能吗?谢谢,我已经尝试过了。不再崩溃了。。。至少,不在这个函数中。我想我会让这个想法一直延续到新的设计——花太多的时间在这么少的东西上。再次感谢:)在javascript中,我总是试图绕过try..catch,我总是试图在异常出现之前阻止异常。试捕似乎从来没有像它应该的那样可靠。。