【问题标题】:What is the performance cost of throwing an exception in Dart?在 Dart 中抛出异常的性能成本是多少?
【发布时间】:2020-07-17 15:35:45
【问题描述】:

来自 .NET 世界,当错误发生在用户端(如验证)时抛出异常被认为是一种不好的做法,在不同的文章和 GitHub 示例中看到许多它的实例似乎真的很奇怪。

Dart 中是否有任何机制可以降低堆栈跟踪的成本,或者在 Dart 中为输入验证之类的东西抛出异常也是不好的做法?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    正如您所说,异常应该主要用于异常路径。验证实际上是程序域的一部分。

    我做了一个非常简单的测试——返回结果与异常。 https://gist.github.com/jposert/0cbf824ac625a6563c2f62085eda64e8

    该测试在统计上并不正确,但我认为它表明即使存在时间差异 - 在软件的上下文中它可能并不重要。

    但是,从架构的角度来看,抛出而不是返回肯定是不正确的。

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 2018-10-18
      • 2010-09-20
      • 2015-10-21
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      相关资源
      最近更新 更多