小编Joh*_*ter的帖子

Flutter dart try catch,catch 不开火

鉴于下面的短代码示例:

    ...
    print("1 parsing stuff");
     List<dynamic> subjectjson;
    try { 
      subjectjson = json.decode(response.body);
    } on Exception catch (_) {
      print("throwing new error");
      throw Exception("Error on server");
    }
    print("2 parsing stuff");
    ...
Run Code Online (Sandbox Code Playgroud)

我希望在解码失败时执行 catch 块。但是,当返回错误响应时,终端会显示异常,并且不会触发 catch 和继续代码......

flutter: 1 parsing stuff
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: type 
'_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 
'List<dynamic>'
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

try-catch catch-block dart flutter

34
推荐指数
6
解决办法
7万
查看次数

无法调用或构造名称空间样式的导入,并且会在运行时导致失败

这里发生了奇怪的事情,使用TypeScript 2.7.2,在带有@ types/express的VSCode版本1.21和随后的代码中,在某些情况下,VSCode会抛出错误,指出"无法调用或构造名称空间样式的导入,并将导致在运行时失败." 但是在具有类似设置和类似tsconfig.json文件的其他机器上,代码才有效..这里发生了什么:

import { Bank } from './Bank';
import * as Express from 'express';  <== errors here..

let app: Express.Express;
this.app = Express();                <== and here
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

TIA,

约翰.

express typescript typescript-typings

30
推荐指数
2
解决办法
1万
查看次数

PageView 中的 GoogleMap

我有一个 googlemap 位于页面视图中的容器上......当你在包含这些 googlemap 小部件的页面之间滑动时,页面捕捉会中断......所以当我这样做时在我的代码中

class Homepage extends StatelessWidget {
  @override build(BuildContext context){
    return PageView(
      children: <Widget>[
        Container(color:Colors.red),
        Container(color:Colors.green),
        Container(color:Colors.blue),
        Container(color:Colors.yellow),
        Container(color:Colors.pink),
        // Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),)),
        // Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),)),
        // Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),)),
        // Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),))
      ],
    );
  }
Run Code Online (Sandbox Code Playgroud)

这个,它工作正常,所有页面都完美贴合……但是,当我像这样取消对 GoogleMap 小部件的注释时:

class Homepage extends StatelessWidget {
  @override build(BuildContext context){
    return PageView(
      children: <Widget>[
        // Container(color:Colors.red),
        // Container(color:Colors.green),
        // Container(color:Colors.blue),
        // Container(color:Colors.yellow),
        // Container(color:Colors.pink),
        Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),)),
        Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),)),
        Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),)),
        Container(child:GoogleMap(initialCameraPosition: CameraPosition(target:LatLng(0, 0)),))
      ],
    ); …
Run Code Online (Sandbox Code Playgroud)

flutter

9
推荐指数
1
解决办法
333
查看次数

Flutter Overlay 和 TextFields

我正在使用颤振。在我使用的脚手架主体中

Overlay.of(context).insert(...) 
Run Code Online (Sandbox Code Playgroud)

插入登录对话框。

但是,当我尝试选择用户名/密码字段时,没有显示键盘。

当我在“普通”树中使用登录小部件时,它可以工作。将其移动到覆盖层中会使键盘不显示。

我在这里错过了什么吗?这不应该有效吗?

flutter

4
推荐指数
1
解决办法
1386
查看次数