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);
}