missing_ exception_ value
Detalhes sobre o diagnóstico 'missing_exception_value' produzido pelo analisador do Dart.
The method {0} must have an exceptional return value (the second argument) when the return type of the function is neither 'void', 'Handle', nor 'Pointer'.
Descrição
#
O analisador gera este diagnóstico quando uma invocação do método Pointer.fromFunction ou
NativeCallable.isolateLocal não tem um segundo argumento (o valor de retorno excepcional) quando o tipo a ser retornado pela invocação não é
void, Handle nem Pointer.
Para mais informações sobre FFI, consulte interoperabilidade com C usando dart:ffi.
Exemplo
#
O código a seguir gera este diagnóstico porque o tipo retornado por f deve ser um inteiro de 8 bits, mas a chamada a
fromFunction não inclui um argumento de retorno excepcional:
import 'dart:ffi';
int f(int i) => i * 2;
void g() {
Pointer.fromFunction<Int8 Function(Int8)>(f);
}
Correções comuns
#Adicione um valor de retorno excepcional:
import 'dart:ffi';
int f(int i) => i * 2;
void g() {
Pointer.fromFunction<Int8 Function(Int8)>(f, 0);
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.