当前位置: 首页 > 知识库问答 >
问题:

飞镖捕捉子句

柳坚白
2023-03-14
void doSomething(String url, String method) {
    HttpRequest request = new HttpRequest();

    request.open(method, url);
    request.onLoad.listen((event) {
        if(request.status < 400) {
            try {
                String json = request.responseText;
            } catch(e) {
                print("Error!");
            }
        } else {
            print("Error! (400+)");
        }
    });

    request.setRequestHeader("Accept", ApplicationJSON);
}
catch(e) {
    ...
}

显然这是某种例外,但是(1)为什么我们不需要指定它的类型,(2)我可以添加什么来指定它的具体类型?例如,如何以类似于catcherror(someHandler,test:(e)=>e is SomeException)的方式处理多种类型的可能异常?

共有1个答案

洪黎昕
2023-03-14

>

  • Dart是一种可选的类型化语言。因此不需要e的类型。

    您必须使用以下语法来仅捕获SomeException:

    try {
      // ...
    } on SomeException catch(e) {
     //Handle exception of type SomeException
    } catch(e) {
     //Handle all other exceptions
    }
    

    请参见DART:Up and Running的catch部分。

  •  类似资料:
    • 在节点中。在js服务器上,捕获SIGTERM和捕获SIGINT有什么区别吗? 我认为进程不应该能够防止SIGINT关闭? 我是否能够捕获两个信号并阻止退出?我的实验表明答案是肯定的,但从我所读到的内容来看,SIGINT总是假设关闭一个进程。 或者我把SIGINT和SIGKILL混淆了?也许SIGKILL是我无法恢复的信号? 捕捉这些信号当然可以让我优雅地关机: 我想我把SIGINT和SIGKILL

    • 问题内容: 在Java中是否有捕捉到内存不足错误()的问题? 问题答案: 是的 。以下是一些可能有意义的示例: 如果您想通过 优雅地关闭 程序来处理它 如果要向用户显示问题或 记录错误 根据您的设计,您甚至可以清理内存并 恢复工作状态 但是 ,请注意,通常情况下(除非您处在一次要分配大量内存的位置),对于这些情况,您可能不会专门捕获OutOfMemoryError,而是始终在顶部进行操作主要入口点

    • 我一直在使用VSCode进行颤振开发,但没有问题。今天,飞镖分析器突然抱怨说,大多数类都是未定义的,或者目标不存在。 有人见过这个吗? 我已经重新启动了VSCode,重新启动了计算机,卸载了flutter/dart插件,运行flutter dr没有任何问题……我没有想法了。 VSCode问题

    • 问题内容: 请注意:我对使用Polymer对此不感兴趣; 我想使用“纯”飞镖! 我正在尝试为Dart应用程序构建一个简单的登录屏幕,并且很难将两个表单变量(和)发送到服务器端POST: 这是我的主要HTML文件(): 这是我的主要Dart文件(): 当我在浏览器中运行此程序时,我看到登录屏幕出现,但是当我单击登录按钮时,什么都没有发生,并且Firebug在交叉编译,混淆,缩小的JavaScript

    • 我正在尝试使用DART做POST并且我收到了这个错误,现在我只想在服务器端打印消息以确保我收到了它,但我不知道如何解释错误: < li >在服务器端: 【警告】rpc:响应状态码:500头:access-control-allow-credentials:true access-control-allow-origin:* cache-control:no-cache,no-store,must-

    • 我已经在Android studio上安装了颤振,每当我在Android studio上导入新项目时,它会显示“Dart未配置下载Dart SDK或打开Dart设置” 到目前为止,代码还不错。 当我打开省道设置时 Idk在每个项目中尝试了什么,只有在新的颤振项目运行良好时才尝试。颤振版本是2.8.1 Dart版本是2.15.1 Android Studio Arctic Fox | 2020.3.