Flutter Web中未收到任何错误输出

时间:2019-06-21 08:18:08

标签: flutter flutter-web

我无法从Flutter Web应用程序中获取任何错误输出。使用

打印到控制台
print('some text');

可以正常工作,但是不会出现任何错误。例如,引发异常

throw new Exception('testexception');

在浏览器控制台和IntelliJ中均不会产生任何输出。 Chrome中的日志级别设置设置为[Info, Warnings, Errors]

我什至尝试实现自定义错误处理程序

void main(){
    FlutterError.onError = (FlutterErrorDetails details) {
        print('main.onError: details: ${details.toString()}');
    };

    runApp(new MyApp());
}

但是没有运气。我必须在某处启用错误输出吗?我在文档中找不到有关此信息。

我尝试使用Dart Dev Server(在IntelliJ中使用Run时启动)以及从终端调用webdev servewebdev serve --auto restart来运行应用程序。

3 个答案:

答案 0 :(得分:0)

您是否想看看这是否是已知问题? Flutter-web仅处于开发人员预览级别。如果没有当前问题,请创建一个,并提供最少的“如何复制”。我确信Flutter-web团队会很感激。

答案 1 :(得分:0)

Flutter Web当前无法调试。将生成一个main.dart.js,您可以使用Chrome控制台对其进行调试。

“调试” 的一个很酷的技巧是在浏览器中显示一个弹出窗口:

import 'dart:js' as js;

@override
void initState() {
  super.initState();

  js.context.callMethod("alert", <String>["Your debug message"]);
}

答案 2 :(得分:0)

我在IDE中都尝试过,并且在Intellij中正常工作,但在VSCode中却没有。它显示为白色的空白屏幕,使其尝试再次运行 private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { textBox1.Text = textBox1.Text.Replace("crosshair 0", "crosshair 1"); } else { textBox1.Text = textBox1.Text.Replace("crosshair 1", "crosshair 0"); } } ,然后在空白屏幕中等待2分钟。

并检查视觉代码中颤振的SDK路径是否正确。