invalid_exception_value
メソッド {0} は、関数の返り値の型が 'void'、'Handle'、または 'Pointer' である場合に、例外的な返り値(2番目の引数)を持つことはできません。
説明
#Pointer.fromFunction または NativeCallable.isolateLocal の呼び出しで、例外的な返り値(2番目の引数)が指定されており、その呼び出しから返される型が void、Handle、または Pointer のいずれかである場合に、アナライザーはこの診断を生成します。
FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。
例
#以下のコードは、f の返り値の型が void であるにもかかわらず2番目の引数が提供されているため、この診断を生成します。
dart
import 'dart:ffi';
typedef T = Void Function(Int8);
void f(int i) {}
void g() {
Pointer.fromFunction<T>(f, 42);
}一般的な修正
#例外的な返り値を削除する
dart
import 'dart:ffi';
typedef T = Void Function(Int8);
void f(int i) {}
void g() {
Pointer.fromFunction<T>(f);
}