2017-06-18 74 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