cast_from_nullable_always_fails
此类型转换将始终抛出异常,因为可空的局部变量“{0}”未赋值。
描述
#当具有可空类型的局部变量未赋值并被转换为非可空类型时,分析器会产生此诊断。由于该变量未赋值,其默认值为 null
,导致类型转换抛出异常。
示例
#以下代码会产生此诊断,因为变量 x
在已知其值为 null
时被转换为非可空类型 (int
)
dart
void f() {
num? x;
x as int;
print(x);
}
常见修复方法
#如果变量在类型转换前期望有一个值,则添加初始化或赋值
dart
void f() {
num? x = 3;
x as int;
print(x);
}
如果变量不期望被赋值,则移除类型转换
dart
void f() {
num? x;
print(x);
}