Esses conteúdos sobre exceptions são os mais desafiadores até agora.
@caiolucena818310 ай бұрын
Aproveitando as férias da faculdade pra rever essa playlist. Esse canal é uma mina de ouro ! Obrigado, DevDojo
@murilodutra85695 ай бұрын
Aqui estou mais um dia🤠😎
@brunopantoja74152 жыл бұрын
Aula 99 - 13/06/22 Aula que quase explodiu minha mente...
@Kikiito Жыл бұрын
Eu assisti e anotei as aulas de exceção, tenho tdah então é bem complicado focar, vou parar por aqui até entender tudo e continuar as aulas quando tiver pronto, bom, Aula 99, 19/04/2023, concluida!
@idonthavemoney8649Ай бұрын
Não sabia que tinha como lançar uma exceção do tipo Runtime (unchecked) quando dentro do método o que ocorre é uma exceção do tipo checked. Mas como o professor disse, é bom lançar a exceção mais específica possível.
@whisperscribe Жыл бұрын
Mais um dia de estudos! Bora!
@murilodutra85695 ай бұрын
Nessa linha 18 ai, o "throw e;" eu associei ao "return", é algo parecido. Tá certinho ou viajei bonito? :(
@pedroviana44059 ай бұрын
04/02/24 AULA 99 OK
@andrebemfica8407 Жыл бұрын
Aula continua fluindo muito bem! Vamo que vamo!
@ramoneloi74994 ай бұрын
sensacional
@J_u_n_i_o_R. Жыл бұрын
Bom exemplo usando o método de pagamento. É justamente quando tenta fazer algo do tipo e tem uma exceção do tipo "Erro: Serviço de Pagamento indisponível" pq deu problema na API ou outra coisa.
@matheuscarneiro61242 ай бұрын
aula 99 e 5 mil visu, realmente esse bagulho é pra poucos!!!!!
@galassoWorkstation9 ай бұрын
Professor, então Try-Catch será mais usado em métodos privados, pois, como não será chamado fora da classe, então não há a necessidade de lançar uma Exception para quem está o chamando, mais fácil resolver dentro do escopo do método; Já o throw Excpetion tende a ser usado em métodos que são publicos, pois, assim, quem está o chamando tem a liberdade para tratar a Exceção sem afetar a regra de negócio(ou escopo o método) e de acordo com sua necessidade específica,. Seria isso?
@matheuscarneiro61242 ай бұрын
boa pergunta
@matheuscarneiro61242 ай бұрын
Sua análise está no caminho certo, mas vamos detalhar um pouco mais para entender as situações em que `try-catch` e `throw` são mais apropriados em termos de visibilidade dos métodos e responsabilidade no tratamento de exceções. Uso de `try-catch` em Métodos Privados 1. Encapsulamento do Tratamento**: Quando um método é privado, ele não é acessível diretamente de fora da classe. Portanto, faz sentido encapsular o tratamento de exceções dentro desse método, usando `try-catch`. Isso é especialmente útil quando o método privado está realizando tarefas internas específicas e a classe deseja gerenciar diretamente qualquer problema que surja. 2. Manutenção da Lógica de Negócio**: Como os métodos privados geralmente são usados para tarefas de suporte dentro de uma classe, lidar com exceções dentro desses métodos (usando `try-catch`) ajuda a manter a lógica de negócios da classe intacta e centralizada. A classe pode, assim, lidar com erros e tomar decisões apropriadas sem expor esses detalhes para métodos externos ou outras classes. Uso de `throw Exception` em Métodos Públicos 1. Delegação de Responsabilidade**: Métodos públicos expõem a funcionalidade de uma classe para outros objetos ou classes. Quando um método público lança uma exceção (`throws Exception`), ele está delegando a responsabilidade de lidar com essa exceção para o chamador. Isso permite que o chamador decida como tratar a exceção de acordo com suas necessidades específicas. 2. Flexibilidade para o Chamador**: Ao lançar uma exceção, os métodos públicos permitem que os chamadores tratem os erros de maneiras que façam sentido para eles, sem impor um tratamento específico. Isso pode ser útil em APIs ou bibliotecas, onde diferentes chamadores podem ter requisitos distintos de tratamento de erros. Resumo e Práticas Comuns Métodos Privados**: Geralmente, faz sentido tratar exceções diretamente dentro de métodos privados, especialmente quando esses métodos realizam operações internas críticas e onde a classe pode decidir como gerenciar os erros. Exemplo: ```java private void saveToFile(String data) { try { // Código para salvar dados em um arquivo } catch (IOException e) { // Tratamento específico do erro log.error("Erro ao salvar dados: ", e); } } ``` Métodos Públicos**: Quando se trata de métodos públicos, lançar exceções é uma prática comum para permitir que os chamadores tenham controle sobre o tratamento de erros. Isso é particularmente importante em bibliotecas ou componentes reutilizáveis, onde diferentes chamadores podem ter diferentes necessidades de tratamento de erros. Exemplo: ```java public void processData(String data) throws DataProcessingException { if (data == null) { throw new DataProcessingException("Dados não podem ser nulos"); } // Processamento dos dados } ``` Considerações Adicionais Coerência no Tratamento**: Se a exceção representa um erro que a classe sabe como lidar de maneira adequada, trate-a internamente. Se a exceção representa algo que o chamador deve saber e lidar, então lance a exceção. Limpeza e Manutenção do Código**: Usar `try-catch` em todos os lugares pode tornar o código verboso e difícil de manter. Decida onde é mais apropriado lidar com as exceções para manter o código limpo e legível. Lançamento de Exceções Específicas**: Em vez de lançar a classe genérica `Exception`, é uma boa prática lançar exceções específicas que descrevam claramente o problema, tornando mais fácil para os chamadores saber como lidar com elas. Sua compreensão geral está correta, e essas práticas ajudarão a aplicar essas ideias de forma eficaz em diferentes cenários de desenvolvimento.
@henriquenunes22767 ай бұрын
Aula OK ✅ - 23/03/24 - Estou very crazy kkkkk mas estou fazendo...
@valtecioc.soeira78611 ай бұрын
Presente!
@AndreLuiz-je2pr2 жыл бұрын
Aula 99 - OK ✔️
@joaoxavier78982 жыл бұрын
Aula 99 ok
@WilliamMatos-ne4mp Жыл бұрын
Aula99 =Ok✅
@matheusmedeiros60982 жыл бұрын
Aula 99 = ok
@matheusyosimura67095 ай бұрын
Aula 99 - OK
@julianodamasiosbp11 күн бұрын
Done :-)
@cavaleirosemlicenca38943 жыл бұрын
Essa foi aula mais complicada que assisti até agora aqui no curso.
@ramonvinicius44193 жыл бұрын
Acabei de sair de poo e isso aqui é moleza.
@vanegee525 Жыл бұрын
Aula concluida 29/10/23
@brunosoges10 ай бұрын
feito ✅
@wallysilva44782 жыл бұрын
Aula 99 ok - 07/11/2022
@adrianosiqueira8053 жыл бұрын
Não sei se é uma boa prática, mas eu gosto da abordagem do "se vira". Tipo assim, o método A manda o método B fazer uma tarefa e diz assim: "Faz essa tarefa e não enche o saco, se tiver algum problema, se vira." Nesse cenário, eu usaria o try-catch para tratar todas as exceções dentro de B e deixar a execução o mais silenciosa possível.
@DevDojoBrasil3 жыл бұрын
Não é questão de boa ou ruim, mas sim quando deve ser assim e quando não.