99 - Exceções pt 05 - Lançando exceção checked

  Рет қаралды 5,548

DevDojo

DevDojo

Күн бұрын

Пікірлер: 42
@SilvioFrancoo
@SilvioFrancoo 3 жыл бұрын
Esses conteúdos sobre exceptions são os mais desafiadores até agora.
@caiolucena8183
@caiolucena8183 10 ай бұрын
Aproveitando as férias da faculdade pra rever essa playlist. Esse canal é uma mina de ouro ! Obrigado, DevDojo
@murilodutra8569
@murilodutra8569 5 ай бұрын
Aqui estou mais um dia🤠😎
@brunopantoja7415
@brunopantoja7415 2 жыл бұрын
Aula 99 - 13/06/22 Aula que quase explodiu minha mente...
@Kikiito
@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
@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
@whisperscribe Жыл бұрын
Mais um dia de estudos! Bora!
@murilodutra8569
@murilodutra8569 5 ай бұрын
Nessa linha 18 ai, o "throw e;" eu associei ao "return", é algo parecido. Tá certinho ou viajei bonito? :(
@pedroviana4405
@pedroviana4405 9 ай бұрын
04/02/24 AULA 99 OK
@andrebemfica8407
@andrebemfica8407 Жыл бұрын
Aula continua fluindo muito bem! Vamo que vamo!
@ramoneloi7499
@ramoneloi7499 4 ай бұрын
sensacional
@J_u_n_i_o_R.
@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.
@matheuscarneiro6124
@matheuscarneiro6124 2 ай бұрын
aula 99 e 5 mil visu, realmente esse bagulho é pra poucos!!!!!
@galassoWorkstation
@galassoWorkstation 9 ай бұрын
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?
@matheuscarneiro6124
@matheuscarneiro6124 2 ай бұрын
boa pergunta
@matheuscarneiro6124
@matheuscarneiro6124 2 ай бұрын
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.
@henriquenunes2276
@henriquenunes2276 7 ай бұрын
Aula OK ✅ - 23/03/24 - Estou very crazy kkkkk mas estou fazendo...
@valtecioc.soeira786
@valtecioc.soeira786 11 ай бұрын
Presente!
@AndreLuiz-je2pr
@AndreLuiz-je2pr 2 жыл бұрын
Aula 99 - OK ✔️
@joaoxavier7898
@joaoxavier7898 2 жыл бұрын
Aula 99 ok
@WilliamMatos-ne4mp
@WilliamMatos-ne4mp Жыл бұрын
Aula99 =Ok✅
@matheusmedeiros6098
@matheusmedeiros6098 2 жыл бұрын
Aula 99 = ok
@matheusyosimura6709
@matheusyosimura6709 5 ай бұрын
Aula 99 - OK
@julianodamasiosbp
@julianodamasiosbp 11 күн бұрын
Done :-)
@cavaleirosemlicenca3894
@cavaleirosemlicenca3894 3 жыл бұрын
Essa foi aula mais complicada que assisti até agora aqui no curso.
@ramonvinicius4419
@ramonvinicius4419 3 жыл бұрын
Acabei de sair de poo e isso aqui é moleza.
@vanegee525
@vanegee525 Жыл бұрын
Aula concluida 29/10/23
@brunosoges
@brunosoges 10 ай бұрын
feito ✅
@wallysilva4478
@wallysilva4478 2 жыл бұрын
Aula 99 ok - 07/11/2022
@adrianosiqueira805
@adrianosiqueira805 3 жыл бұрын
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.
@DevDojoBrasil
@DevDojoBrasil 3 жыл бұрын
Não é questão de boa ou ruim, mas sim quando deve ser assim e quando não.
@ericmendes12
@ericmendes12 Жыл бұрын
Bom que deixa mais natural, né?
@lucassathler601
@lucassathler601 Жыл бұрын
aula 99 ok! 28/04/2023
@vane_8994
@vane_8994 Жыл бұрын
Aula OK - 18/11/23
@20felipe22
@20felipe22 Жыл бұрын
aula99 = ok;
@mariobruno1
@mariobruno1 3 жыл бұрын
Aula 99 OK 29/09/2021
@gabrielsoaresschneider3278
@gabrielsoaresschneider3278 8 ай бұрын
aula concluida 11/03/2004
@elcomjunior7603
@elcomjunior7603 Жыл бұрын
Aula 099 - 24/02/2023 - OK !
@caioeduardo8977
@caioeduardo8977 9 ай бұрын
Aula 99 ok! 18/01/24
@marcusferraz1203
@marcusferraz1203 2 ай бұрын
99 - 284 ✅
@CyberneticEagle
@CyberneticEagle Жыл бұрын
Aula 99 = OK! 29/12/2022
@wagmit
@wagmit 2 жыл бұрын
Aula 99- OK ✔
100 - Exceções pt 06 - Bloco Finally
10:29
DevDojo
Рет қаралды 4,6 М.
62. .NET Framework vs .NET Core vs .NET vs .NET Standard vs C#
25:14
Family Love #funny #sigma
00:16
CRAZY GREAPA
Рет қаралды 47 МЛН
The Singing Challenge #joker #Harriet Quinn
00:35
佐助与鸣人
Рет қаралды 33 МЛН
amazing#devil #lilith #funny #shorts
00:15
Devil Lilith
Рет қаралды 18 МЛН
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 116 МЛН
BLACK FRIDAY MAPAS DA LULU!
44:33
Laura Amorim
Рет қаралды 8 М.
103 - Exceções pt 09 - Try with resources
10:39
DevDojo
Рет қаралды 4,3 М.
101 - Exceções pt 07 - Capturando múltiplas exceções
10:01
HTMY - Python Web HTML Based
11:34
Sri Edy Nurcahyo
Рет қаралды 14
Learn React Hooks: useMemo - Simply Explained!
13:41
Cosden Solutions
Рет қаралды 111 М.
102 - Exceções pt 08 - Multi catch em linha
7:04
DevDojo
Рет қаралды 3,8 М.
105 - Exceções pt 11 - Exceção e regras de sobrescrita
6:19
Family Love #funny #sigma
00:16
CRAZY GREAPA
Рет қаралды 47 МЛН