Javascript 如何捕获JSON.parse()的异常?

Javascript 如何捕获JSON.parse()的异常?,javascript,json,Javascript,Json,我必须解析的字符串来自FileReader(),它可能是有效json文件的内容,也可能无效(例如script.js) 问题是try/catch似乎不能与JSON.parse()一起使用 以下代码未捕获de exceptionJSON.parse:JSON数据的第1行第1列出现意外字符,文件无效 try { var json = JSON.parse( content ); .. } catch (e) { .. } 为了进行第一次验证,我使用(content.subst

我必须解析的字符串来自
FileReader()
,它可能是有效json文件的内容,也可能无效(例如script.js)

问题是
try/catch
似乎不能与
JSON.parse()一起使用

以下代码未捕获de exception
JSON.parse:JSON数据的第1行第1列出现意外字符,文件无效

try
{
    var json = JSON.parse( content );
    ..
}
catch (e)
{
    ..
}
为了进行第一次验证,我使用
(content.substr(0,1)=='{')
测试第一个字符,但我认为这是不够的

实现这一目标的最佳方式是什么


编辑:错误地提出了此问题。

try catch可用于
JSON.parse
。请在浏览器控制台中尝试以下操作或使用SO的代码段功能:

试试{
JSON.parse(“b”)
}第(e)款{
document.writeln(“捕获:+e.message”)

}
try..catch
块与
JSON一起工作。parse
,您可能做了其他错误。请尝试运行此代码段以查看它是否确实工作:

var unexpectedJSON='{a}';
试一试{
parse(意外的JSON);
}
捕获(e){
警报(“JSON中的意外值”);

}
试试{var json=json.parse('test');}catch(e){console.log('catch');}
对我有用。你能创建一个吗?根据mdn,json.parse应该抛出一个语法错误异常。这是正确的方法,显示返回的错误消息。