【问题标题】:How can I grab the error from javascript console in chromium如何从 chromium 中的 javascript 控制台获取错误
【发布时间】:2017-11-20 23:05:56
【问题描述】:

我正在开发一个页面,让学生能够在文本区域中输入代码来解决 javscript 编程练习。但是我希望用户在他们的代码不起作用时得到错误。例如:行号或语法错误等。问题是我不知道如何从 javascript 控制台获取错误。或者,如果这是可能的。如何从 javascript 中输入的代码中获取错误?这是我正在处理的骨架页面。这是从文本区域获取代码并使用 eval 将其发送到控制台的基本功能。但是当代码出现错误时,我也需要抓住......有人可以帮忙吗?谢谢

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>JScript Page</title>
  <script>
    function jstest() {
      var code = document.getElementById("textArea").value;
      console.log(eval(code));
      return false;
    }
  </script>
</head>

<body>
  <h2>Enter your code here!</h2>
  <form>
    <textarea rows="7" cols="50" id="textArea">
</textarea><br>
    <input type="submit" value="Submit" onclick="return jstest();">
  </form>
</body>
</html>

【问题讨论】:

  • try { ... } catch(e) { ... }

标签: javascript html


【解决方案1】:

您可以将下一个脚本添加到您的文档中。它将捕获所有错误并将它们显示为警报消息

<script type="text/javascript">
  window.onerror = function(message, url, lineNumber) {
    alert("Error: "+message+" in "+url+" at line "+lineNumber);
  }
</script>

【讨论】:

    【解决方案2】:

    覆盖控制台错误以向用户显示所有开发者控制台错误。

    console.myError = console.error;
    
    console.error = function (message) {
        console.myError(message);
        document.getElementById("textArea").innerHTML = message;
    }
    

    【讨论】:

    • 我应该把代码放在一个单独的函数而不是 jstest() 函数中...当调用 console.log(eval(code)) 时...我应该在此调用之前还是之后重定向错误.谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多