invalid_exception_value
當函式的返回型別是 'void'、'Handle' 或 'Pointer' 時,方法 {0} 不能有異常返回值(即第二個引數)。
描述
#當呼叫 Pointer.fromFunction 或 NativeCallable.isolateLocal 方法時,如果提供了第二個引數(異常返回值),並且該呼叫的返回型別是 void、Handle 或 Pointer 中的任何一種,則分析器會產生此診斷。
有關 FFI 的更多資訊,請參閱使用 dart:ffi 進行 C 互操作。
示例
#以下程式碼會產生此診斷,因為在函式 f 的返回型別為 void 時提供了第二個引數
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);
}