【问题标题】:Is there a human-readable stack trace anywhere?任何地方都有人类可读的堆栈跟踪吗?
【发布时间】:2020-02-24 09:19:35
【问题描述】:

我意识到the docs 谈论这个,但我的错误看起来不像那样。

我正在使用 React 和 Apollo Server 2。没有禁用调试,也没有将环境设置为生产环境。我所有的错误都是完全不可读的,除了消息本身之外,根本没有说任何有用的信息。示例:

Error: GraphQL error: Cannot return null for non-nullable field AddSubmissionOutput.id.
    at new ApolloError (bundle.esm.js:76)
    at Object.next (bundle.esm.js:1280)
    at notifySubscription (Observable.js:152)
    at onNotify (Observable.js:196)
    at SubscriptionObserver.next (Observable.js:248)
    at bundle.esm.js:1085
    at Set.forEach (<anonymous>)
    at Object.next (bundle.esm.js:1084)
    at notifySubscription (Observable.js:152)
    at onNotify (Observable.js:196)
    at SubscriptionObserver.next (Observable.js:248)
    at Object.next (bundle.esm.js:32)
    at notifySubscription (Observable.js:152)
    at onNotify (Observable.js:196)
    at SubscriptionObserver.next (Observable.js:248)
    at bundle.esm.js:107

每一个错误看起来都是这样的,而且本质上是无用的。

我已经习惯了 Laravel,它会说这个错误的确切文件和行,而不是“去删除代码行直到你找到它”。我放弃了阿波罗,因为它太神秘了,但我再试一次,就是无法超越。

是我对它期望过高,还是这里有什么问题?

【问题讨论】:

    标签: apollo react-apollo apollo-client apollo-server


    【解决方案1】:

    如果您在解析器(或解析器导入的其他模块)中抛出错误,您将看到相应的堆栈跟踪。但是,像上面这样的验证错误并不是源自您的代码库——它们是在库代码中抛出的,因此堆栈跟踪将反映这一点。在这种情况下,错误与响应验证有关,但同样的行为也适用于错误查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多