Необработанное исключение: оператор проверки Null, используемый для нулевого значения (ПОСТАВЩИК)

#dart #flutter-provider #dart-null-safety

Вопрос:

у меня ошибка в приложениях, в которых приложение не может войти в систему, а затем приложения разбились с ошибкой

E/flutter (19441): [ОШИБКА:flutter/lib/ui/ui_dart_state.cc(199)] Необработанное исключение: Оператор проверки Null, используемый для нулевого значения E/flutter (19441): #0 ctx (пакет:dsbills/common/navigation.dart:4:42) E/flutter (19441): #1 ctx (пакет:dsbills/common/navigation.dart) E/flutter (19441): #2 LoginProvider.submitLogin (пакет:dsbills/провайдер/login_provider.dart:199:27) E/flutter (19441): E/flutter (19441): #3 _LoginPageState.сборка.. (пакет:dsbills/пользовательский интерфейс/аутентификация/логин.dart:310:34) E/flutter (19441):

и это то, что я нажимаю, когда получаю эту ошибку при входе в систему.броситься в

действие = () асинхронно { FocusScope.of(контекст).расфокусировать(); поставщик ожидания.submitLogin(

 'Row(  mainAxisAlignment: MainAxisAlignment.center,  children: [  Expanded(  child: Consumer2lt;LoginProvider, FormValidateProvidergt;(  builder: (context, provider, validate, _) {  if (provider.state == ResultState.Loading) {  return Center(  child: CircularProgressIndicator(  color: primaryForm),  );  } else {  Function action;  if (validate.instituisi.error != null) {  action = () {  FocusScope.of(context)  .requestFocus(_institusiId);  ScaffoldMessenger.of(context)  .removeCurrentSnackBar();  ScaffoldMessenger.of(context)  .showSnackBar(SnackBar(  content: Text(validate.instituisi.error!),  backgroundColor: colorButton,  ));  };  } else if (validate.username.error != null) {  action = () {  FocusScope.of(context)  .requestFocus(_username);  ScaffoldMessenger.of(context)  .removeCurrentSnackBar();  ScaffoldMessenger.of(context)  .showSnackBar(SnackBar(  content: Text(validate.username.error!),  backgroundColor: colorButton,  ));  };  } else if (validate.password.error != null) {  action = () {  FocusScope.of(context)  .requestFocus(_password);  ScaffoldMessenger.of(context)  .removeCurrentSnackBar();  ScaffoldMessenger.of(context)  .showSnackBar(SnackBar(  content: Text(validate.password.error!),  backgroundColor: colorButton,  ));  };  } else {  action = () async {  FocusScope.of(context).unfocus();  await provider.submitLogin(  _institusiIdController.text.toUpperCase(),  _usernameController.text.toUpperCase(),  _passwordController.text,  VarSession.authToken,  );  };  }'  

это ошибка в login_provider.dart

 } else {  //Tidak ada Koneksi  _errMessage = 'Internet not available';  Utility.printToConsole(_errMessage, DEBUG_PRINT);  _state = ResultState.Error;  notifyListeners();  Dialogs.noConnect(ctx, errMessage!);  return _errMessage; } } catch (e) {  _state = ResultState.Error;  notifyListeners();  _errMessage = 'Error -gt; $e';  Dialogs.errorDialog(ctx, _errMessage!);  return _errMessage; }  

then the error at navigation.dart

 final GlobalKeylt;NavigatorStategt; myNavigatorKey = GlobalKeylt;NavigatorStategt;(); final ctx = myNavigatorKey.currentContext!;  class Navigation {  static pushNoData(String routeName) {  myNavigatorKey.currentState!.pushNamed(routeName);  }   static pushWithData(String routeName, Object arguments) {  myNavigatorKey.currentState!.pushNamed(routeName, arguments: arguments);  }   static pushReplaceNoData(String routeName) {  myNavigatorKey.currentState!.pushReplacementNamed(routeName);  }  

в коде нет ошибки, но когда я запускаю приложение, оно внезапно разбивается