2017-06-18 80 views
0

我正在学习页面,让学生能够在textarea中输入代码来解决javscript编程练习。但是我希望用户在他们的代码不起作用时发生错误。例如:行号或语法错误等问题是我不知道如何从javascript控制台抓取错误。或者如果那甚至是可能的。我怎么能从JavaScript中输入的代码中得到错误?这是我正在处理的框架页面。从textarea获取代码并使用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> 
+0

'尝试{...}赶上(E){...}' –

回答

0

您可以将下一个脚本添加到您的文档。这将捕获所有的错误,并告诉他们如警报消息

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

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

console.myError = console.error; 

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

我应该将代码放在一个单独的函数比jstest()函数... CONSOLE.LOG时(EVAL(代码) )正在调用...应该在此调用之前或之后重定向错误。谢谢 – miatech

+0

是你的功能之前分开 – gauravmuk