Logo Passei Direto
Buscar

O desenvolvimento de sistemas envolve lidar com uma série de situações inesperadas que podem comprometer a execução normal de uma aplicação Em um cenário simples, como um (3)

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

RESPOSTA- (44) 99162-8928 
 
 
 
MAPA - PROGRAMAÇÃO AVANÇADA - 54_2025 
 
O desenvolvimento de sistemas envolve lidar com uma série de situações inesperadas que 
podem comprometer a execução normal de uma aplicação. Em um cenário simples, como 
um programa de cadastro de produtos, o usuário pode fornecer uma entrada incorreta ao 
digitar letras em vez de números no campo destinado ao preço. Esse tipo de falha, 
aparentemente trivial, pode causar a interrupção imediata do programa e afetar toda a 
experiência do usuário. Quando ampliamos essa análise para ambientes corporativos mais 
complexos, como sistemas bancários, hospitalares ou de gestão empresarial, a gravidade de 
erros não tratados se torna ainda mais evidente, podendo resultar em perdas financeiras, 
falhas de segurança ou até impactos na vida de pessoas. 
 
A linguagem Java, ao longo de sua evolução, incorporou um modelo robusto para o 
tratamento de exceções, possibilitando que erros sejam capturados e tratados de maneira 
controlada. Esse mecanismo é baseado em blocos como try, catch e finally, que permitem 
definir pontos de verificação e de recuperação dentro do código. Dessa forma, em vez de o 
programa encerrar abruptamente diante de uma falha, ele consegue executar rotinas de 
tratamento, emitir mensagens claras ao usuário e até corrigir o problema quando possível. 
Essa abordagem não apenas melhora a confiabilidade do sistema, mas também reforça a 
percepção de qualidade por parte do cliente. 
 
 
 
 RESPOSTA- (44) 99162-8928 
 
 
 
Em sistemas distribuídos e aplicações que dependem de integrações externas, como 
conexões com bancos de dados ou serviços via rede, a ocorrência de erros é praticamente 
inevitável. Uma conexão pode ser interrompida por instabilidade na internet, um arquivo 
pode estar ausente no momento da leitura ou um valor numérico pode ultrapassar os limites 
esperados. Nesses casos, a simples ausência de tratamento adequado pode levar a falhas 
em cascata, comprometendo módulos inteiros da aplicação. Por isso, entender e aplicar 
corretamente os recursos de tratamento de exceções é um diferencial essencial para 
desenvolvedores que buscam qualidade e resiliência em seus projetos. 
 
Outro ponto importante está na separação entre o fluxo normal do programa e o fluxo de 
tratamento de erros. Sem um mecanismo estruturado, o desenvolvedor precisaria inserir 
múltiplas verificações condicionais em diversas partes do código, tornando-o confuso e de 
difícil manutenção. O modelo de exceções de Java, ao contrário, centraliza e organiza o 
tratamento, permitindo que o código principal se mantenha mais limpo e legível. Essa 
característica está diretamente associada a boas práticas de engenharia de software, uma 
vez que facilita a manutenção e a evolução dos sistemas ao longo do tempo. 
 
Além da captura e tratamento direto, a linguagem também oferece o mecanismo de 
propagação de exceções, utilizando a palavra-chave throws. Isso significa que, em 
determinadas situações, o método que detecta o erro pode não ser o mais apropriado para 
resolvê-lo, delegando essa responsabilidade para métodos de níveis superiores. Essa 
propagação é útil, por exemplo, em sistemas em camadas, onde a lógica de interface com o 
usuário, a lógica de negócio e a persistência de dados estão separadas. Cada camada pode 
decidir se trata o erro ou se o repassa adiante, até que seja devidamente resolvido em um 
ponto mais estratégico. 
 
Um exemplo prático está na leitura de arquivos. Um método que tenta abrir um arquivo 
inexistente pode lançar uma exceção FileNotFoundException. Caso esse método esteja em 
um módulo de acesso a dados, talvez ele não deva decidir o que fazer diante dessa falha, 
mas apenas notificar a camada superior por meio da propagação. Assim, o módulo de 
interface com o usuário pode ser o responsável por exibir uma mensagem clara, sugerindo 
ao usuário verificar se o arquivo realmente existe ou se o caminho foi digitado corretamente. 
Esse tipo de organização mostra a força do modelo de exceções como ferramenta para 
manter a separação de responsabilidades dentro de um sistema. 
 
Outro aspecto essencial é a possibilidade de criação de exceções personalizadas. Muitas 
vezes, as exceções oferecidas pela biblioteca padrão de Java não são suficientes para 
expressar problemas específicos de um domínio de negócio. Imagine, por exemplo, um 
sistema bancário em que uma tentativa de saque ultrapassa o saldo disponível. Embora 
fosse possível lançar uma exceção genérica, como IllegalArgumentException, criar uma 
exceção própria, como SaldoInsuficienteException, torna o código mais expressivo e facilita 
a manutenção. Ao lançar uma exceção personalizada, o desenvolvedor consegue comunicar 
 
 
 
 RESPOSTA- (44) 99162-8928 
 
 
de forma clara o tipo exato de problema ocorrido, permitindo que ele seja tratado de maneira 
diferenciada. 
 
Esse uso de exceções personalizadas também facilita a vida de equipes de manutenção. Ao 
se depararem com logs ou mensagens de erro, os desenvolvedores conseguem identificar 
rapidamente a causa do problema, sem a necessidade de análises longas ou confusas. Em 
grandes projetos, onde diferentes equipes trabalham em conjunto, essa clareza se torna 
ainda mais valiosa, reduzindo custos de suporte e acelerando o processo de correção de 
falhas. 
 
Portanto, o tratamento de exceções não deve ser visto como um recurso opcional ou 
secundário dentro do desenvolvimento em Java, mas como uma prática essencial para 
garantir a robustez, a clareza e a confiabilidade dos sistemas. Ele está diretamente 
relacionado às boas práticas de engenharia de software e deve ser incorporado desde as 
primeiras fases de desenvolvimento, não apenas em momentos de correção de falhas. 
Assim, os sistemas produzidos tornam-se mais resilientes, preparados para lidar com 
imprevistos e capazes de oferecer uma experiência consistente ao usuário, 
independentemente dos erros que possam surgir. 
 
 
 
JUNIOR, E. A. O.; PEREIRA, R. de L. Programação Avançada. Maringá: Unicesumar, 
2016. Reimpresso em 2023. 
 
 
 
Assim, é necessário para esta atividade MAPA que você: 
 
 
 
Questão 1. Explique, com suas próprias palavras, a importância do tratamento de exceções 
em Java e como ele contribui para a confiabilidade dos sistemas. 
 
 
 
Questão 2. Desenvolva um exemplo de código em Java que utilize try-catch-finally para 
capturar uma exceção de entrada inválida ao tentar converter uma String em número 
decimal. 
 
 
 
import java.util.Scanner; 
 
 
 
 
 RESPOSTA- (44) 99162-8928 
 
 
 
 
public class CadastroProduto { 
 
 public static void main(String[] args) { 
 
 Scanner sc = new Scanner(System.in); 
 
 System.out.print("Digite o preço do produto: "); 
 
 double preco = Double.parseDouble(sc.nextLine()); 
 
 System.out.println("Preço com desconto: " + (preco * 0.9)); 
 
 /* incluir: "Erro: valor inválido! Digite um número válido." 
 
 sc.close(); 
 
 System.out.println("Execução finalizada."); 
 
*/ 
 
 
 
 } 
 
} 
 
 
 
Questão 3. Descreva como a propagação de exceções (uso de throws) pode ser aplicada 
em cenários mais complexos de sistemas. 
 
 
 
Questão 4. Analise criticamente a possibilidade de criação de exceções personalizadas 
(extends Exception) e explique em que situações isso se torna vantajoso. 
 
 
 
Como entregar a atividade: 
 
 
 
 
 RESPOSTA- (44) 99162-8928 
 
 
A atividade deve ser elaborada em um arquivo de TEXTO, seguindo o TEMPLATE 
disponível no MATERIAL DA DISCIPLINA no Studeo. O arquivo final deve ser salvo com a 
extensão .PDF ou .DOC. Após finalizar, você deve anexar o arquivo no ambiente da 
atividade dentro do Studeo. 
 
 
 
Dicas para realizar a atividade: 
 
Durante as aulas, o professor fornecerá dicas que podem ser utilizadas para a confecção 
das suas atividades. Assim, é de suma importância participar das aulas ao vivo ou assisti-las 
 
posteriormente. 
 
Assista às aulas conceituaisda disciplina. 
 
 
 
Orientações importantes: 
 
- Acesse o link com um vídeo tutorial para ajudá-lo nesse processo de criação e 
desenvolvimento. O acesso deverá ser realizado em: Arquivos > Material da Disciplina. 
 
- Lembre-se de que evidências de cópias de materiais, incluindo de outros estudantes, sem 
devidas referências, serão inquestionavelmente zeradas. As citações e referências, mesmo 
que do livro da disciplina, devem ser realizadas conforme as normas da Instituição de 
Ensino. 
 
- Não são permitidas correções parciais no decorrer do módulo, ou seja, o famoso: 
“professor, veja se minha atividade está certa?”. Isso invalida seu processo avaliativo. 
Lembre-se que a interpretação da atividade também faz parte da avaliação. 
 
- Procure sanar suas dúvidas junto à mediação em tempo hábil sobre o conteúdo exigido na 
atividade, de modo que consiga realizar sua participação. 
 
- Atenção ao prazo de entrega, evite envio de atividade em cima do prazo. Você pode ter 
algum problema com internet, computador, software etc., e os prazos não serão 
flexibilizados, mesmo em caso de comprovação. 
 
- Anexe o arquivo na atividade, clicando sobre o botão Selecionar arquivo. 
 
não será possível reenviar a atividade ou realizar qualquer modificação no arquivo enviado). 
 
 
 
 
 RESPOSTA- (44) 99162-8928 
 
 
Boa atividade!

Mais conteúdos dessa disciplina