missing_exception_value
メソッド {0} は、関数の戻り値の型が 'void'、'Handle'、'Pointer' のいずれでもない場合、例外的な戻り値(2番目の引数)を持つ必要があります。
説明
#Pointer.fromFunction または NativeCallable.isolateLocal の呼び出しで、呼び出しから返される型が void、Handle、Pointer のいずれでもない場合に、2番目の引数(例外的な戻り値)が含まれていないと、アナライザーはこの診断を生成します。
FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。
例
#以下のコードは、f によって返される型が 8 ビット整数であることが期待されているにもかかわらず、fromFunction の呼び出しに例外的な戻り引数が含まれていないため、この診断を生成します。
dart
import 'dart:ffi';
int f(int i) => i * 2;
void g() {
Pointer.fromFunction<Int8 Function(Int8)>(f);
}一般的な修正
#例外的な戻り型を追加する
dart
import 'dart:ffi';
int f(int i) => i * 2;
void g() {
Pointer.fromFunction<Int8 Function(Int8)>(f, 0);
}