我是打字稿和javascript的新手,我不确定为什么会这样。我有一些试图解析一些json的打字稿。有时json无法解析并导致语法错误。我试图捕获此错误并显示一条消息(在示例中简化),但看起来它不起作用。
try {
let item: SomeItem = JSON.parse(data.someItem)
return (
<div>
... // a bunch of stuff using the item
</div>
)
}
catch(err) {
console.log("Debug - exception caught?")
return (
<div>
<p>Error retrieving the some item info</p>
</div>
)
}
当我运行它并且无法解析JSON时,错误似乎没有被捕获。有什么想法吗?
编辑:
问:编译好的JavaScript是什么样的?
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("../css/table.css");
require("../../../node_modules/react-bootstrap-table/dist/react-bootstrap-table-all.min.css");
var React = require("react");
exports.ItemDetailPage = function (info) {
var data = info.data;
try {
let item: SomeItem = JSON.parse(data.someItem);
return (
<div>
... // a bunch of stuff using the item
</div>
);
}
catch (err) {
console.log("Debug - exception caught?")
return (
<div>
<p>Error retrieving the some item info</p>
</div>
);
}
};
Q2:另外,您怎么知道JSON无法解析?你从物品中得到什么? 当可以解析值时,我可以从SomeItem获取任何属性,这只是一些字符串和数字。 这是控制台输出中显示的内容:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data[Learn More]