跳到主要内容

non_type_in_catch_clause

名称 '{0}' 不是类型,不能用在 on-catch 子句中。

描述

#

catch 子句中紧跟在 on 后面的标识符被定义为非类型事物时,分析器会产生此诊断信息。

示例

#

以下代码会产生此诊断信息,因为 f 是一个函数,而不是类型

dart
void f() {
  try {
    // ...
  } on f {
    // ...
  }
}

常见修复

#

将名称更改为应该捕获的对象类型

dart
void f() {
  try {
    // ...
  } on FormatException {
    // ...
  }
}