跳到主內容

invalid_exception_value

當函式的返回型別是 'void'、'Handle' 或 'Pointer' 時,方法 {0} 不能有異常返回值(即第二個引數)。

描述

#

當呼叫 Pointer.fromFunctionNativeCallable.isolateLocal 方法時,如果提供了第二個引數(異常返回值),並且該呼叫的返回型別是 voidHandlePointer 中的任何一種,則分析器會產生此診斷。

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