在javascript中获取未捕获的异常
Posted
技术标签:
【中文标题】在javascript中获取未捕获的异常【英文标题】:Getting uncaught exception in javascript 【发布时间】:2020-12-07 20:23:37 【问题描述】:我在浏览器控制台中收到“Uncaught SyntaxError: Unexpected token '”错误,尽管所有条件都满足,但未显示以下消息弹出窗口。 有人可以在这里指出错误吗
*
IF (dmd.is_gpid_packaged_txt(videntifier) = 'TRUE' AND dbcode = 'S' AND bsave AND (vpreorderdt IS NULL OR vpreorderdt = '')) THEN
htp.p('<script language = "javascript"> if(voldpreorderdate != null && voldpreorderdate != "" && voldpreorderdate != "NULL")
var answer_preorder = confirm("The preorder is currently live, this will not remove it from Apple. Do you want to proceed?");
if (answer_preorder)
theform.vpreorderdt.value = vstreetdt;
</script>');
bsave := true;
htp.p('<script language = "javascript">
else
theform.vpreorderdt.value = voldpreorderdate;
</script>');
bsave := false;
htp.p('<script language = "javascript">
</script> </script>');
END IF;
*
【问题讨论】:
您在嵌套脚本标签?那是无效的 html/脚本!当什么是脚本和什么是 plsql 不明显时,您的代码真的很难阅读 【参考方案1】:您不能将 JavaScript 块拆分为多个 script
标记;您需要将整个代码放入单个 script
。
你似乎想要这样的东西:
IF (
dmd.is_gpid_packaged_txt(videntifier) = 'TRUE'
AND dbcode = 'S'
AND bsave
AND vpreorderdt IS NULL
)
THEN
htp.script(
'if (voldpreorderdate != null && voldpreorderdate != "" && voldpreorderdate != "NULL")'
|| ''
|| 'var answer_preorder = confirm('
|| '"The preorder is currently live, this will not remove it from Apple.'
|| ' Do you want to proceed?"
|| ');'
|| 'theform.vpreorderdt.value = answer_preorder?vstreetdt:voldpreorderdate;'
|| '',
'javascript'
);
bsave := FALSE;
END IF;
【讨论】:
【参考方案2】:在第一行,它写着dmd.is_gpid_packaged_txt(videntifier) = 'TRUE'
,但如果你想测试一个东西是否等于另一个东西,你应该使用两个等号,或者==,或者三个等号,或者===,如果你想确保类型也相等。
【讨论】:
这是“一个”错误,但不是 OP 所询问的错误。 第一行是 PL/SQL 而不是 JavaScript。单个=
等于是语法上有效的 PL/SQL 比较运算符。以上是关于在javascript中获取未捕获的异常的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 异常:未捕获的类型错误:将循环结构转换为 JSON
如何在 Google Chrome Canary 中打开未捕获异常时暂停?
应用程序因 - 未捕获的异常“NSGenericException”而终止,