Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript错误处理不会捕获任何内容_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript错误处理不会捕获任何内容

Javascript错误处理不会捕获任何内容,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我有奇怪的错误生成功能。。它是来自HttpRequest的,如下所示 public async request(method, url, data, headers = {}){ let init { method: method }; if (data) { let payload: string = JSON.stringify(data); init.body = payload; } if (this.key) heade

我有奇怪的错误生成功能。。它是来自HttpRequest的,如下所示

public async request(method, url, data, headers = {}){
    let init { method: method };
    if (data) {
        let payload: string = JSON.stringify(data);
        init.body = payload;
    }

    if (this.key) headers["x-auth-token"] = this.key;
    headers["Content-Type"] = "application/json";
    init.headers = headers;

    let result = await fetch(url, init);
    if (result.status == 200) return result;
    throw { status: result.status, message: result.statusText };
}
现在,我正试图抓住这样的问题:

try {
    let img = await HttpRequest.request("GET", "/login");
    let text = await img.text();

    let str = "data:image/jpeg;base64, " + text;
    this.setState({ avatar: str });
} catch (err) {
    console.log("log here");
}
try {
    let img = await HttpRequest.request("GET", "/login");
    let text = await img.text();

    let str = "data:image/jpeg;base64, " + text;
    this.setState({ avatar: str });
} catch (err) {
    console.error("log here"); // <--- console.error() instead of console.log
}
奇怪的是,虽然我故意犯了一个错误,但控制台中的任何地方都没有显示“loghere”

但如果我这样改变它:

try {
    let img = await HttpRequest.request("GET", "/login");
    let text = await img.text();

    let str = "data:image/jpeg;base64, " + text;
    this.setState({ avatar: str });
} catch (err) {
    console.log("log here");
}
try {
    let img = await HttpRequest.request("GET", "/login");
    let text = await img.text();

    let str = "data:image/jpeg;base64, " + text;
    this.setState({ avatar: str });
} catch (err) {
    console.error("log here"); // <--- console.error() instead of console.log
}
试试看{
让img=wait-HttpRequest.request(“GET”,“/login”);
让text=等待img.text();
让str=“data:image/jpeg;base64,”+文本;
this.setState({avatar:str});
}捕捉(错误){

console.error(“log here”);//我认为您当前只查看错误日志,如

请单击列表上的第一项,以显示所有类型的日志,如
…!

嗯..我不确定这是答案,还是正确的答案,但问题不是编程或javascript性质

在我尝试了Parth Savaliya的评论之后,我有了一些想法,我试图使这个函数变得非常简单

function testError() {
    throw {aa: 'test', bb: 'bb'};
}

try {
    console.log("nothing here");
    testError();
} catch (err) {
    console.log(err);
    console.log('foo');
}

每次我输入不同的对象时,任何
console
命令,包括
console.error()
都会给我不同的结果
只是运气。它从莫名其妙的混乱、各种各样的字符串,到没有输出,最后崩溃了Google Chrome。没有模式,似乎是随机的。我还试图替换
console.log()
catch
子句中,使用XHR请求服务器,它工作正常。Firefox工作正常。因此我断定是chrome的控制台出了问题。尝试删除所有扩展,清理缓存和所有内容,重新安装chrome,问题就解决了。

“如果我这样更改它”-找出差异…?==在catch块中,以前是concole.log(),在更改的代码段中是console.error!!因此您已将控制台设置为仅显示错误,而不是调试日志…?是..但如果使用console.log(),它根本没有执行。@deceze是的。。我删除了所有例程,只是为了看看它是否执行。我已经启用了所有功能。错误、警告、日志、信息、调试、css、XHR和请求