为什么这个Json解析错误没有在打字稿中被捕获?

时间:2017-11-04 02:43:11

标签: javascript json typescript

我是打字稿和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]

0 个答案:

没有答案