• Stars
    star
    675
  • Rank 66,879 (Top 2 %)
  • Language
    Java
  • Created about 3 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Curso Tratamento de Exceções em Java

TRATAMENTO DE EXCEÇÕES EM JAVA

Curso que apresenta conceitos introdutórios sobre como podemos identificar e tratar Exceptions na linguagem Java. Curso este ministrado por mim em nome da DIGITAL INNOVATION ONE 🧡💛 e disponibilizado de forma gratuita para a comunidade dos desenvolvedores Java.

🛑 Pré-requistos

  • Java JDK 8 ou superior
  • IDE para desenvolvimento Java
  • Conhecimento BÁSICO em OOP
  • Estar disposto a aprender

📚 Ementa

  1. Visão Geral
  2. Unchecked Exception
  3. Checked Exception
  4. Exception Personalizada

Visão Geral

  • Exceção é um evento que interrompe o fluxo normal de processamento de uma classe.
  • O uso correto de exceções torna o programa mais robusto e confiável.
  • Com o tratamento de exceções, um programa pode continuar executando depois de lidar com um problema.
  • Importante: Incorpore sua estratégia de tratamento de exceções no sistema desde o princípio do processo de projeto. Pode ser difícil incluir um tratamento de exceções eficiente depois que um sistema foi implementado.

Error:

Usado pela JVM que serve para indicar se existe algum problema de recurso do programa, tornando a execução impossível de continuar.

Unchecked (Runtime):

Exceptions que PODEM ser evitados se forem tratados e analisados pelo desenvolvedor.

Checked Exception:

Exceptions que DEVEM ser evitados etratados pelo desenvolvedor para o programa funcionar.
amoTu

Hierarquia Exceptions

Palavras Reservadas:

  • try, catch, finally: Cada uma dessas palavras, juntas, definem blocos para o tratamento de exceções.
  • throws: Declara que um método pode lançar uma ou várias exceções.
  • throw: Lança explicitamente uma exception.

🔸 Error

  • Usado pela JVM, serve para indicar quando existe algum problema de recurso do programa, tornando a execução impossível de continuar.
  • O “Erro” é algo que não pode mais ser tratado, ao contrário da “Exceção” que trata seus erros, pois todas as subclasses de Exception (menos as subclasses RuntimeException) são exceções que obrigatóriamente devem ser tratadas.

🔸 Unchecked Exception

  • Herdam da classe RuntimeException ou da classe Error.
  • O compilador não verifica o código para ver se a exceção foi capturada ou declarada.
  • Se uma exceção não-verificada ocorrer e não tiver sido capturada, o programa terminará ou executará com resultados inesperados.
  • Em geral, podem ser evitadas com uma codificação adequada.

🔸 Checked Exception

  • As exceções que são herdadas da classe Exception, mas não de RuntimeException.
  • O compilador impõe um requisito do tipo "capturar ou declarar".
  • O compilador verifica cada chamada de método e declaração de método para determinar se o método lança (throws) exceções verificadas.
  • Se lançar, o compilador assegura que a exceção verificada é capturada ou declarada em uma cláusula throws.
  • Caso não capturada nem declarada, ocorre um erro de compilação.

🔸 Exception Personalizada

  • Programadores podem achar útil declarar suas próprias classes de exceção.
  • Essas Exceptions são específicas aos problemas que podem ocorrer quando outro programador empregar suas classes reutilizáveis.
  • Uma nova classe de exceção deve estender uma classe de exceção existente que assegura que a classe pode ser utilizada com o mecanismo de tratamento de exceções, logo essas Exceções customizadas são derivadas da classe Exception.
  • Importante: Antes de criar a nossa própria exceção, é recomendado verificar se já existe alguma exceção na biblioteca Java que já nos forneça o que precisamos. Afinal, não queremos reinventar a roda!

🔸 Blocos try/catch/finally

    Bloco try:
  • Região onde se encontra o código que queremos verificar se irá ou não lançar uma exceção.
  • Caso ocorra uma exceção em algum ponto, o restante do código contido no bloco try não será executado.
  • O bloco try não pode ser declarado sozinho, por tanto, precisa estar seguido de um ou vários blocos catch e/ou de um bloco finally.
    Bloco catch:
  • Região onde se encontra o possível tratamento da exceção. Isso significa que só será executado caso o bloco try apresentar alguma exceção.
  • Recebe como argumento a classe ou subclasse da possível exceção.
  • No seu escopo ficam as instruções de como tratar essa exceção.
  • Pode haver mais de um bloco catch, porém, será executado apenas o primeiro bloco que identificar a exceção.
  • Importante: Caso você utilize mais de um catch e houver exceções de uma mesma hierarquia de classes, certifique-se que a classe mais genérica esteja como argumento do último catch. Caso contrário, qualquer exceção sempre cairá neste primeiro catch, assim fazendo com que a exception mais específica não seja verificada.
    Bloco finally:
  • Este bloco é opcional, mas caso seja construído, quase sempre será executado. (A menos que seja forçada sua parada, por exemplo, com um System.exit(0), no catch)
  • Dentro do bloco finally, poderá conter outros blocos try, catch, bem como outro finally.
  • Geralmente utilizado quando precisamos executar algum código independente se ocorrer exception ou não.

🔸 Cláusulas throws e throw

    Cláusula throws
  • Usada na assinatura do método.
  • Necessária apenas para exceções checked.
  • Informa ao chamador que este método pode lançar uma das exceções listadas no escopo do método. Isso obriga a fazer a captura dessa exception (try-catch) ou relançar o throws.
    Cláusula throw
  • É usada para lançar explicitamente uma exceção de um método ou de qualquer bloco de código.
  • Usada principalmente para lançar exceções personalizadas
  • Importante:
  • O fluxo de execução "normal" do programa para imeditamente apos a execução da cláusula throw. O bloco try envolvente mais próximo é verificado para encontrar um bloco catch que corresponda ao tipo de exceção.
  • Caso encontre essa correspondência, o controlado é transferido para esse bloco. Caso contrário, o próximo bloco try envolvente é verificado e assim por diante.
  • Outro caso, é se nenhuma captura for encontrada, o manipulador da exceção padrão interromperá o programa.

🔗 Referências

🤝 Contribuindo

Este repositório foi criado para fins de estudo, então contribua com ele.
Se te ajudei de alguma forma, ficarei feliz em saber. E caso você conheça alguém que se identidique com o conteúdo, não deixe de compatilhar.

Se possível:

⭐️ Star o projeto

🐛 Encontrar e relatar issues


Disponibilizado com ♥ por cami-la.

More Repositories

1

loops-e-arrays

Repositório do curso Estruturas de Repetição e Arrays com Java. Curso este oferecido pela Digital Innovation one e ministrado por mim.
Java
1,372
star
2

debugging-java

Curso que apresenta conceitos introdutórios sobre como podemos trabalhar com debugging na linguagem Java.
Java
1,032
star
3

collections-java-api-2023

Este repositório é referente ao curso "Collection Framework API Java" e é uma valiosa contribuição para a comunidade de desenvolvedores Java, fornecendo exemplos práticos e recursos educacionais relacionados à poderosa API de coleções da linguagem Java.
Java
915
star
4

desafio-poo-dio

Java
866
star
5

curso-dio-dominando-ides-java

Repositório do curso Dominando IDEs Java. Curso este oferecido pela Digital Innovation one e ministrado por mim.
799
star
6

curso-dio-intro-collections

Resolução dos exercícios propostos: CURSO INTRODUTÓRIO COLLECTIONS FRAMEWORK JAVA.
Java
595
star
7

url-shortener-preview

Esta é uma API para encurtar URLs e redirecionar para a URL original.
Java
245
star
8

academia-digital

Projeto de LAB: Conhendo o projeto Spring data JPA com Java na prática
Java
230
star
9

sacola-api_IFOOD_DEV_WEEK

Código-Fonte do Projeto Sacola API do iFood Dev Week.
Java
168
star
10

credit-application-system

Conheça o Spring Boot. Nesse contexto, explore a linguagem de programação Kotlin e entenda como o projeto Spring Data JPA facilita a criação de aplicativos baseados em Spring que usam tecnologias de acesso a dados.
Kotlin
114
star
11

testes_selenium_webdriver_java_curso

Código-fonte do curso: Automação de Testes com Selenium WebDriver e Java
Java
78
star
12

configuracao-inicial-ambiente-de-desenvolvimento-java

Guia para o curso "Configurando o Ambiente de Desenvolvimento Java"
51
star
13

programacao_assistida_por_IA_com_Amazon_CodeWhisperer

Java
42
star
14

mentoria_desmitificando_SQL_NoSQL_com_ChatGPT_Santander

Repositório referente a mentoria Desmestificando Banco de Dados SQL e NoSQL com ChatGT. Mentoria para os alunos participantes dos Bootcamps oferecido pela DIO em parceria com o Santander.
Java
40
star
15

Aprendendo_POO_de_uma_vez_por_todas_test

Java
36
star
16

restautante-poo-java

Código-Fonte Mentoria POO
Java
35
star
17

logica_de_programacao_essencial

Aprenda os conceitos que formam a base do desenvolvimento de software e comece a construir sua compreensão do processo de criação de programas eficazes e funcionais.
Java
29
star
18

mentoria_SANTANDER_CODE_GIRLS_110722

Mentoria Santander Code Girls
Java
27
star
19

listaDeExerciciosPythonBrasil

Exercicios propostos pelo site da pythonBrasil para iniciantes em programação, resolvidos em linguagem java.
Java
26
star
20

mentoria_GFT_START_5_23052022

Desafio Técnico GFT Start #5
Java
26
star
21

restaurante-api

Java
22
star
22

curso-dio-intro-java-i-o

Java
21
star
23

mentoria-GFT-START-4-030322

Mentoria GFT Start 4
Java
17
star
24

sacola

Java
17
star
25

java-POO-curso-em-video

Código fonte das aulas do curso Curso completo de Programação Orientada a Objetos (POO) com a linguagem Java. Aborda os principais conceitos como Classes, Objetos, instanciamento, abstração, encapsulamento, herança, polimorfismo e muito mais. Criado pelo professor Gustavo Guanabara para o Curso em Vídeo, explica todos os conceitos de POO de uma maneira simples, objetiva e divertida.
Java
16
star
26

projeto_classes_poo_youtube

Código Fonte das classes em Java.
Java
15
star
27

mentoria_philips_fullstack_developer_120422

Mentoria Philips FullStack - POO
Java
14
star
28

exercicios-de-fixacao-MYSQL

Resolução de exercícios de fixação do banco de dados MYSQL Server.
13
star
29

mentoria_GFT_QA_1_080322

Mentoria GFT QA #1
Java
12
star
30

unit_testing_JUnit5

Testes unitários em Java utilizando JUnit
Java
12
star
31

fundamentos_angular_alura

Cursos da secção "Fundamentos Angular" da Formação Angular da Alura
TypeScript
11
star
32

gerenciamento-de-colaboradores

Mentoria GFT Start #3
Java
10
star
33

jo-ken-po_22_11_22

Neste repositório, replicaremos o jogo Pedra, Papel e Tesoura (Jo-ken-Po), utilizando a linguagem de programação Java de forma interativa através do console.
Java
10
star
34

Jo-Ken-Po-code-girls-santander

Java
8
star
35

microservices_using_Spring_Boot_and_Spring_Cloud_1_amigoscode

Microservices - Playlist Amigoscode
Java
8
star
36

topCasaFinaArquitetura

Curso Alura: Bootstrap: criação de uma single-page responsiva
HTML
8
star
37

POO-classes-Java

Java
8
star
38

Spring_Boot_Full_Stack_with_Angular_Full_Course_amigoscode_getarrays2

Spring Boot Full Stack with Angular | Full Course [2021]
TypeScript
8
star
39

mentoria_SANTANDER_CODE_GIRLS_110722_Final

Código Fonte da mentoria sobre "Pensamento Computacional e Programação Orientada a Objetos"
Java
8
star
40

spring-security-full-course-amigoscode

Java
8
star
41

testes-unitarios-JUnit-its-rio-cnj

Testes unitários em Java utilizando JUnit
Java
7
star
42

JSON_Web_Token_-JWT-_with_Spring_Security_And_Angular_back_end

Java
7
star
43

Java

Solução de Problemas Práticos vistos nos cursos da Digital Innovation One.
Java
7
star
44

Spring_Boot_Full_Stack_with_Angular_Full_Course_amigoscode_getarrays

In this Spring Boot tutorial you will learn Spring Boot full stack with Angular.
Java
7
star
45

entendendo-es6

JavaScript
6
star
46

Jdev-formacao-Java-Web-Full-Stack

Código fonte das aulas do curso Formação Java Web Full-Stack, ministrado por Alex Edigio.
Java
6
star
47

posicionando_elementos_com_flexbox_em_CSS_DIO

https://web.dio.me/course/posicionando-elementos-com-flexbox-em-css/learning/46f1e8c7-ef6e-458e-ad4e-369fc65faba7?back=/browse
6
star
48

Microservices_and_Distributed_Systems_amigoscode

Microservices and Distributed Systems
Java
6
star
49

DIO-Implementando-Collections-Streams-Java

Java
6
star
50

consuming_API-s_with_Angular_getArrays

Consuming API's with Angular - Get Arrays
TypeScript
6
star
51

alura-studies

TypeScript
5
star
52

modulo_testes_automatizados_aula2_CNJ

Módulo Testes Automátizados - Aula 2: Testes unitários em Java utilizando JUnit
5
star
53

devdojo_academy_microservices_springBoot

https://www.youtube.com/watch?v=vxeMnM15gsI&list=PL62G310vn6nH_iMQoPMhIlK_ey1npyUUl
Java
5
star
54

forum

Kotlin
5
star
55

credit-request-system

Kotlin
5
star
56

angular_comecando_com_o_framework_alura

Curso: Angular começando com o framework
TypeScript
5
star
57

js-primeiros-passos-com-a-linguagem-alura

JavaScript
5
star
58

teste-curso-dio-dominando-ides-java-intellij

teste intellij
Java
5
star
59

pokedex_tw_angular_introducao

Projeto Pokedex Curso Angular - Introdução / Treinaweb
HTML
5
star
60

curso-alura-API-REST-testes-com-Spring-Boot

REST é um dos padrões para APIs mais utilizados no mundo. Aprenda a criar uma API REST segura com Spring Boot, alem de entrar nos tópicos importantes, como o monitoramento, profiles, testes e deploy.
Java
5
star
61

Microsservi-os_na_pr-tica_implementandocom_Java_e_Spring_alura

Java
4
star
62

spring-framework-fundamentos-treinaweb

Spring Boot, Spring Web MVC e o Spring Data. São módulos do Spring que serão abordados neste curso.
Java
4
star
63

livros-facul-modulo1B

Livros do Curso Ciência da Computação - 1 Semestre - Modulo 1B
4
star
64

microservice-repo

4
star
65

recriando-a-pagina-inicial-do-Instagram

CSS
4
star
66

spring_boot_microservices_devdojo

Java
4
star
67

alura-git

Lsita de cursos para controlar o GIT
HTML
4
star
68

typescript-alura

TypeScript
4
star
69

criando_uma_solu-o_de_e-commerce-com-microsservicos_em_Java

Criando uma solução de e-commerce com microsserviços em Java
Java
4
star
70

kotlin-collections-curso-alura

https://cursos.alura.com.br/course/kotlin-collections-set-map
Kotlin
4
star
71

mentoria_Sportheca_mobile_160222

Mentoria Sportheca Mobile
Java
4
star
72

microsservicos_na_pratica_implementando_com_Java_e_Spring_order_alura

Java
4
star
73

gerenciador-tarefas_Feltex

Angular - Feltex
TypeScript
4
star
74

ts-construcao-de-uma-api-com-tipagem-segura_alura

https://cursos.alura.com.br/course/typescript-construcao-api-tipagem-segura
TypeScript
4
star
75

collections-java-api-2023_test

Java
4
star
76

curso-mballem-spring-mvc-com-thymeleaf

Curso de Primeiros Passos no Desenvolvimento Web com Spring-Boot, MVC, JPA, Thymeleaf e Heroku.
HTML
3
star
77

typescript-curso-1

JavaScript
3
star
78

livros-facul-modulo1A

Livros do Curso Ciência da Computação - 1 Semestre - Modulo 1A
3
star
79

bytebank

Kotlin
3
star
80

testes-JUnit-its-rio-cnj

Testes unitários em Java utilizando JUnit 5
Java
3
star
81

meu-primeiro-projeto-maven

Criando meu primeiro projeto Maven com Camila Cavalcante
3
star
82

kotlin-desenvolva-colecoes-arrays-e-listas

Kotlin
3
star
83

test-key-ssh

3
star
84

spring-security-codegate01

Java
3
star
85

desafio-poo-java-kotlin-11-05-2023

3
star
86

sistema-de-controle-de-ponto-e-acesso-com-Spring-Boot

Projeto Sistema de Controle de Acesso com Spring Boot do Bootcamp FullStack Santander da platafoma de cursos online e gratuitos Digital Innovation One.
Java
3
star
87

Spring-Boot-CRUD-Web-Application-with-Thymeleaf-Spring-MVC-Spring-Data-JPA-Hibernate-MySQL

In this video tutorial, we will create a Spring MVC web application for Employee Management System with the following CRUD operations
Java
3
star
88

sistema-de-gerenciamento-de-pessoas-em-API-ReSt-com-Spring-Boot

Projeto sistema de gerenciamento de pessoas em API ReST com Sprig Boot do Bootcamp FullStack Santander da platafoma de cursos online e gratuitos Digital Innovation One.
Java
3
star
89

curso-javacollections-alura

Java
2
star
90

microsservicos_na_pratica_implementando_com_Java_e_Spring_eureka_server_alura

Java
2
star
91

resumos

Resumos e tutoriais
2
star
92

fornecedor-curso-spring-cloud-1-alura

Java
2
star
93

Kafka_Produtores_Consumidores_e_streams_alura

Java
2
star
94

teste-curso-dio-dominando-ides-java

teste repository
Java
2
star
95

loja-microservices-com-Spring-Cloud-alura

Java
2
star
96

treinaweb-spring-data-jpa

2
star
97

microservice-repo2

2
star
98

Laravel_Livewire3_Course_for_Beginners_Yelo-Code

Laravel Livewire 3 Course for Beginners
PHP
2
star
99

Microservices_and_Distributed_Systems_amigosode

2
star
100

curso-DIO-desenvolvimento-basico-java

2
star