Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

(44) 99162-8928 
 Está SEM TEMPO ou com DIFICULDADE de realizar o seu trabalho 
 acadêmico? 
 Entre em contato conosco agora mesmo! Iremos te ajudar nessa jornada 
 acadêmica 
 (44) 99162-8928 
 MAPA - PROGRAMAÇÃO AVANÇADA - 54_2025 
 22
 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. 
 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 
 22
 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 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. 
 22
 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; 
 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." 
 22
 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: 
 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. 
 22
 Assista às aulas conceituais da disciplina. 
 Orientaçõesimportantes: 
 - 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. 
 - Após anexar o trabalho, certificar-se que se trata do arquivo correto, clique no botão Responder e, 
 posteriormente, em Finalizar Questionário (após "Finalizar o Questionário", não será possível 
 reenviar a atividade ou realizar qualquer modificação no arquivo enviado). 
 22

Mais conteúdos dessa disciplina