Logo no inicio da aula ele cria uma propriedade chamada de "report", nao poderia usar diretamente o this.runtimeType?
Logo no inicio da aula ele cria uma propriedade chamada de "report", nao poderia usar diretamente o this.runtimeType?
Olá, Gustavo.
Tudo bem?
Entendo a sua dúvida, mas o uso do this.runtimeType
poderia não ser uma boa ideia neste caso.
O this.runtimeType
retorna o tipo de tempo de execução do objeto atual. No entanto, este tipo é uma instância da classe Type
e não uma string. Embora seja possível converter isso em uma string, essa não seria a melhor prática, pois a representação de string do tipo pode não ser o que você espera. Além disso, o runtimeType
é uma propriedade de depuração e seu uso em código de produção é desencorajado.
No caso da aula, o instrutor optou por criar uma propriedade report
para armazenar o nome da exceção como uma string. Isso dá ao programador mais controle sobre o nome da exceção e permite que eles forneçam um nome mais descritivo ou formatado de maneira diferente, se necessário.
Por exemplo, se você tivesse uma exceção chamada MyCustomException
, você poderia querer que o nome da exceção aparecesse como "Erro: Exceção Personalizada" em vez de "MyCustomException", que é o que this.runtimeType
retornaria.
Portanto, embora seja tecnicamente possível usar this.runtimeType
, o uso de uma propriedade separada como report
oferece mais flexibilidade e controle sobre o nome da exceção.
Espero ter ajudado e bons estudos!