是否可以将JavaScript错误转储到HTML中的div?

Rob*_*rst 7 html javascript error-handling

我正在写一个游戏,我有一个控制台,供开发人员在游戏中与JavaScript方法进行交互.我有一个问题; 我无法弄清楚如何将JavaScript错误丢弃到控制台.无论如何都要将错误写入div或HTML元素?

Ben*_*ank 6

听起来你已经有能力执行JS工作了,只需要捕获错误输出?如果是这样,您应该可以通过将执行代码包装在一个try ... catch块中来实现:

var result;

try {
    result = eval($("#console-input").val());
} catch (ex) {
    if (ex !== null && typeof ex !== "undefined") {
        if (ex.message) ex = ex.message;
    } else {
        ex = "An unknown error occurred.";
    }

    result = ex;
}

$("#console-output").append($("<p/>").text(result));
$("#console-input").val("");
Run Code Online (Sandbox Code Playgroud)

如果没有错误发生,这将把代码的结果添加到输出div.如果确实发生错误,它将输出错误消息(如果有)或"发生未知错误".