1
resposta

excessão no código

O meu código:

import 'dart:math';

import 'models/account.dart';

void main(){
    Account? myAccount;

  // Simulando uma comunicação externa que pode ou não preencher myAccount
  Random rng = Random();
  if (rng.nextInt(10) % 2 == 0) {
    myAccount =
        Account(name: "Ricarth", balance: 300, isAuthenticated: true);
  }
  /* print(myAccount.runtimeType);

  print(myAccount!.balance); */

  print(myAccount != null ? myAccount.balance : "A variavé é nula");
}

está gerando Unhandled excepion

Unhandled exception:
'file:///C:/Users/itson/Documents/Projetos/Flutter/dart_exceptions/bin/models/account.dart': Failed assertion: line 10 pos 16: 'name.isEmpty': Empty Name
account.dart:10
#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
#2      new Account
account.dart:10
#3      main
main.dart:12
#4      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#5      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:192:26)
1 resposta

Olá Itson!

A exceção que está ocorrendo é devido a uma falha na validação da classe Account. Na linha 10 do arquivo account.dart, há uma validação que verifica se o nome da conta está vazio. Como você não está passando um nome na criação da conta, a exceção é lançada.

Estranho que você está passando valor, será que consegue mostrar pra gente como está o código da classe Account ? Assim podemos ver se tem alguma coisa diferente que está gerando o erro.

Espero ter ajudado e bons estudos!