Fre*_*edy 16 javascript jquery
我想调用3个javascript(jquery)文件是这样的:
<script type="text/javascript" src="js/file1.js"></script>
<script type="text/javascript" src="js/file2.js"></script>
<script type="text/javascript" src="js/file3.js"></script>
Run Code Online (Sandbox Code Playgroud)
在file2.js上有脚本或函数出错,例如,被调用的函数不存在.因为错误的后果file2.js是在脚本file3.js将不会被执行.
是否有一种方法在file3.js中执行脚本仍然执行?可以绕过或忽略file2.js上的错误吗?
谢谢.
Ben*_*ick 25
您可以在代码周围使用try catch块并显示错误
try{
//code that causes an error
}catch(e){
functionToHandleError(e);
}
//continue from here
Run Code Online (Sandbox Code Playgroud)
但是,如果错误是外部库的已知条件/不可避免的问题,或者仅在错误的用户输入时发生,则应该这样做.您不应该使用它来让程序不惜一切代价继续运行.
一些避免错误的方法
var关键字的情况下声明,或者附加到全局对象,则可以在声明它们之外的位置修改它们.Javascript也没有块范围.确保您知道变量被修改的所有位置,并尽可能限制变量的范围.特别是避免使用太多的全局变量来保持状态,因为在没有很多空/类型检查的情况下很难知道当前状态.一些处理错误的方法
如果它是一个预期的问题(IE,如果输入可能是空的并且需要不同的处理),理想情况下事先用if语句检查它.如果您不想这样做,可以使用try/catch来转换输入,请求新输入,或者对作为approperiate给出的输入进行操作.
如果它是一个意想不到的问题(IE你不知道发生了什么),一个catch块可以是一个在开发过程中输出诊断信息的好地方.IE,不要只是抓住它并让它静默失败,输出一条消息让你或其他开发人员知道失败的地方,然后使用你最喜欢的浏览器的web开发工具来检查当时的值,弄清楚发生了什么,并为该案例添加处理以修复它.
什么不该做
将try/catch放入,然后让程序继续运行.如果不需要正确运行的代码,请删除它.如果有必要且工作不正常,请修复它.
使用try catches作为输入验证(如果函数为null,则IE将抛出异常,我将捕获它,然后我知道函数为null).尽可能检查是否存在任何预期错误.当行为异常时,尝试/捕获应处理"异常",并且您需要关闭备用代码路径或警告用户出现问题.
小智 13
当你没有时间调试时试试这个:
function stoperror() {
return true;
}
Run Code Online (Sandbox Code Playgroud)
叫它:
window.onerror = stoperror;
Run Code Online (Sandbox Code Playgroud)
功能非常简单:创建一个始终返回true的函数,然后每当发生错误时,调用此函数(返回true并抑制错误).