跳到主内容

throw_of_invalid_type

抛出表达式的类型 '{0}' 必须可赋值给 'Object'。

描述

#

当 throw 表达式中的表达式类型不可赋值给 Object 时,分析器会生成此诊断。抛出 null 是无效的,因此使用可能求值为 null 的表达式也是无效的。

示例

#

以下代码会生成此诊断,因为 s 可能为 null

dart
void f(String? s) {
  throw s;
}

常见修复方法

#

为表达式添加显式空检查

dart
void f(String? s) {
  throw s!;
}