Javascript JS-如何防止脚本在抛出错误后停止
如何防止脚本在抛出错误后停止?JS中有类似异常处理的东西吗 控制台文本Javascript JS-如何防止脚本在抛出错误后停止,javascript,jquery,html,Javascript,Jquery,Html,如何防止脚本在抛出错误后停止?JS中有类似异常处理的东西吗 控制台文本 Not allowed to load local resource: file:///C:/Users/Temp/image.png 您可以使用try/catch/finally块来处理错误: try { // Whatever you need } catch(error) { // Handle error if one occurs } finally { // Last resort } 请注意
Not allowed to load local resource: file:///C:/Users/Temp/image.png
您可以使用
try
/catch
/finally
块来处理错误:
try {
// Whatever you need
} catch(error) {
// Handle error if one occurs
} finally {
// Last resort
}
请注意,您可以根据需要在try
和finally
之间设置多个catch
块
这里有更多的信息。当然有:
try{}catch(异常){}
当然,把你的代码包装在try/catch里面:
try
{
//Run some code here
}
catch(err)
{
//Handle errors here
}
Javascript确实有异常处理。您可能会遇到两种类型的错误: 1) 在应用程序中,您可以主动防止抛出错误,例如AJAX请求。您可以这样处理它们:
try {
AJAX-code or other code susceptible to errors
} catch(error){
// Log error
}
window.onerror = function(message, url, lineNo) {
// Code to handle the error
}
2) 脚本错误或编译时错误,例如,未定义的变量。在浏览器中,是一个全局事件处理程序,在脚本或编译错误时调用。然而,它的实现在不同的浏览器中是不一致的。您可以这样使用它:
try {
AJAX-code or other code susceptible to errors
} catch(error){
// Log error
}
window.onerror = function(message, url, lineNo) {
// Code to handle the error
}
OneError的主要问题是没有通过堆栈跟踪,这不是很有帮助。然而,Chromium已经添加了列号和errorObj,所以希望其他浏览器在不久的将来也能实现相同的功能。添加向您的问题抛出错误的代码。try/catch通常可以正常工作,正如您预期的那样,但是有些错误您无法捕获,因为它们是由其他事件触发的(例如,在您的示例中加载坏资源时,只有在javascript部分完成执行后才知道错误)。但在这些情况下,它不会停止脚本(它只记录一个您无法避免的警告)。