如何在没有try / catch的情况下捕获错误或在运行时使用try / catch包装代码?

时间:2012-11-27 12:35:22

标签: javascript jquery exception exception-handling try-catch

这个问题实际上分为2个:

  • 我可以在不使用try catch的情况下使用js 捕获异常吗?没有"赶上"它继续执行代码,但被通知发生异常。

意思是我只是想知道有关异常的通知,无论后来浏览器如何反应。

  • 我可以在运行时使用try / catch包装代码吗?

2 个答案:

答案 0 :(得分:1)

JS中的某个地方:

window.someDefinedFunction = function() {
  //Old risky function
}

可以调用该函数的任何其他地方:

window.someDefinedFunctionUnsafe = window.someDefinedFunction;
widnow.someDefinedFunction = function() {
  try {
    window.someDefinedFunctionUnsafe();
  }
  catch {
    //React to error
  }
}

Javascript global error handling是蛮力方法的链接。您可能希望仅在风险呼叫期间交换onerror,具体取决于您要查看的内容。

答案 1 :(得分:0)

您可以在javascript中覆盖onerror方法。尝试使用一些代码来执行,这可能是为了通知您已发生错误,其余行将继续执行。

在你的js函数中添加以下行来覆盖onerror方法。

window.onerror = function(){
    警报(“你有错误”);
};

希望它有所帮助。