Flutter实战指南
上QQ阅读APP看书,第一时间看更新

3.2 运行时错误和运行时日志消息

在模拟器中多次单击添加资讯的按钮,如图3.3所示。

发现如图3.4所示,显示了一些错误信息。这是Flutter的一个很好的功能。

图3.3 模拟器

图3.4 显示的错误信息

在Debug Console中可以看到一个错误信息。那样怎样阅读Flutter的错误信息呢?首先检查底部,有时可以在底部找到重要的信息。Debug Console中打印了很多信息,需要向上滚动,找到如图3.5所示的分隔线。

图3.5 Debug Console中的分隔线

在分隔线下面可以发现“底部的渲染超过了174像素”,这部分信息很有用,Flutter中的错误信息通常提供解决办法或者提供一个间接的解决方案,例如这里可以看到详细的问题描述,建议使用flex factor,或者可以使用ListView。这些建议很有用。当遇到错误信息时,要认真阅读它们,很多错误信息描述得都很清晰,甚至提供了解决方法,没有解决方法的也会告诉哪里错了。

看另外一个例子,在属性_news的值前面加上static const,编译没有报错,但如果重启应用会看到错误信息,屏幕上也有错误信息,显示不能给一个不可以改变的列表添加值。在Debug Console中检查时会发现这样的提示:unsupported operation cannot add to an unmodified list.这些错误叫运行时错误,它们不会在开发的时候报错。运行时错误通常描述得很清晰,显示错误是在文件中的哪个地方发生的,同时也可以通过跟踪问题栈直接找到有用的错误信息。