• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Engenharia de Software ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Template Projeto Matematica Aplicada a Computacao - Circuitos Logicos

3

Template Projeto Matematica Aplicada a Computacao - Circuitos Logicos

Linguagens de Programação

PUC

Princípios SOLID e Programação Modular

20

Princípios SOLID e Programação Modular

Linguagens de Programação

PUC

Programação Modular: Herança Múltipla e Conceito de Interface

39

Programação Modular: Herança Múltipla e Conceito de Interface

Linguagens de Programação

PUC

Algoritmo de Huffman

1

Algoritmo de Huffman

Linguagens de Programação

PUC

Trabalho sobre Algoritimos

6

Trabalho sobre Algoritimos

Linguagens de Programação

PUC

Programação Modular: Classes, Objetos e Construtores em Java

39

Programação Modular: Classes, Objetos e Construtores em Java

Linguagens de Programação

PUC

Atividade no Visual Studio Simples

1

Atividade no Visual Studio Simples

Linguagens de Programação

PUC

Padrões de Projeto em Programação Modular: Abordagens e Soluções

17

Padrões de Projeto em Programação Modular: Abordagens e Soluções

Linguagens de Programação

PUC

Fundamentos de Programação Orientada a Objetos

88

Fundamentos de Programação Orientada a Objetos

Linguagens de Programação

PUC

Programação Modular: Enumeração em Java

28

Programação Modular: Enumeração em Java

Linguagens de Programação

PUC

Texto de pré-visualização

PROGRAMAÇÃO MODULAR XULAMBS PIZZA BURGER Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Ao final da execução dados de pedidos e clientes devem ser armazenados em arquivos Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Pedido novoPedido new Pedido novoPedidoaddComidaumaComida Cliente cliente mapaClientesgetcliCPF clienteregistrarPedidonovoPedido PROGRAMAÇÃO DEFENSIVA Conceito baseado na noção de direção defensiva Se alguém fizer algo perigoso você está preparado para evitar consequências Você assume a responsabilidade pela sua saúde mesmo que o erro seja do outro motorista Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Pedido novoPedido new Pedido novoPedidoaddComidaumaComida Cliente cliente mapaClientesgetcliCPF clienteregistrarPedidonovoPedido Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Pedido novoPedido new Pedido novoPedidoaddComidaumaComida Cliente cliente mapaClientesgetcliCPF clienteregistrarPedidonovoPedido Os pedidos devem ser salvos em arquivo File pedidos new FiledadosPedidosbin File clientes new FiledadosClientesbin Utilsalvarpedidos listaPedidos Utilsalvarclientes mapaClientesvalues Os pedidos devem ser salvos em arquivo File pedidos new FiledadosPedidosbin File clientes new FiledadosClientesbin Utilsalvarpedidos listaPedidos Utilsalvarclientes mapaClientesvalues Os pedidos devem ser salvos em arquivo File pedidos new FiledadosPedidosbin File clientes new FiledadosClientesbin Utilsalvarpedidos listaPedidos Utilsalvarclientes mapaClientesvalues Conceito baseado na noção de direção defensiva Se alguém fizer algo perigoso você está preparado para evitar consequências Você assume a responsabilidade pela sua saúde mesmo que o erro seja do outro motorista Ideia principal na programação Problemas inevitavelmente acontecerão Seu código estará preparado para lidar com eles Robusteza Correção Executar as tarefas especificadas Continuar respondendo em situações anormais Interfaces de componentes de software devem ser especificadas de maneira formal precisa e verificável Précondições Póscondições Invariantes Método chamado précondições ou executa póscondições ou falha Falha situação excepcional Tratamento varia com o tipo de erro Tratamento formal de falhas Separa tratamento do erro do código esperado Propaga erros na pilha de chamada de funções Agrupa e diferencia tipos de erros Podese produzir Exception ou Error em Java Exceções Capturar criar lançar propagar Hierarquia de classes com a responsabilidade de sinalizar erros ou eventos inesperados a um código Hierarquia de classes com a responsabilidade de sinalizar erros ou eventos inesperados a um código ROBUSTEZ Ajudam a impedir que condições de erro sejam propagadas pelo código Não são ignoráveis Podem reduzir a complexidade do código e melhorar a legibilidade Centralizam o tratamento de problemas Ajuda a impedir que condições de erro sejam propagadas pelo código Não são ignoráveis Podem reduzir a complexidade do código e melhorar a legibilidade Centralizam o tratamento de problemas MAS DEVEM SER USADAS RESPONSAVELMENTE try bloco de código padrão catch exceção e1 blocos de tratamento de erros catch exceção e2 finally algumas linguagens oferecem finally bloco que será sempre executado int LeArquivo int codigoErro 0 AbraArquivo if ArquivoFoiAberto ObtenhaTamanhoArquivo if TamanhoFoiObtido AloqueMemoria if MemoriafoiAlocada LeArquivoNaMemoria if LeituraFalhou codigoErro 1 else codigoErro 2 else codigoErro 3 FecheArquivo if ArquivoNaoFechou codigoErro 0 codigoErro 4 else codigoErro codigoErro4 else codigoErro 5 return codigoErro LeArquivo try AbraArquivo ObtenhaTamanhoArquivo AloqueMemoria LeArquivoNaMemoria FecheArquivo catch FalhaAberturaArquivo FaçaAlgumaCoisa catch FalhaObtencaoTamanhoArquivo FacaAlgumaCoisa catch FalhaAlocacaoMemoria FacaAlgumaCoisa catch FalhaLeArquivo FacaAlgumaCoisa catch FalhaFechamentoArquivo FacaAlgumaCoisa Exceção é lançada Ambiente de execução procura um catch para tratamento desta exceção Método em execução não tem este catch Procurase o tratamento no método que chamou o método atual e assim sucessivamente Não é encontrado nenhum bloco catch Mensagem de exceção sem tratamento para usuário Interrompese a execução do programa Um bloco try pode ter vários blocos catch cada um lidando com uma exceção diferente Os catch são processados em ordem É importante escrever primeiro os blocos mais específicos Exceções são classes Ocorrências de exceções são objetos Checked Exceptions Não descendem de RuntimeException Unchecked Exceptions Descendem de RuntimeException Compilador verifica as Checked Exceptions A classe Throwable é a raiz da hierarquia de classes de exceções A classe Exception é uma extensão de Throwable Novas exceções estendem de Exception ou de suas classes filhas Classe Exception possui uma String para armazenar a mensagem de erro de uma exceção O programador tem duas alternativas Tratar uma exceção que pode receber trycatch Delegar a exceção ou criar uma nova throw throws Quatro passos Como capturar e tratar exceções Como lançar uma exceção Como criar sua própria exceção Como propagar uma exceção Tratamento de Erros Se algo deu errado o que fazemos Aconteceu o erro E então Ao acontecer o problema retorne um valor neutro válido que não cause propagação de erro Ex string vazia Inteiro de valor 0 Ponteiro para elemento null Pule para a próxima ocorrência Ex playlist de áudio vídeo ou imagens várias leituras de um dispositivosensor geração de listas e outros conjuntos PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Repetir a última resposta válida ou ignorar a tentativa atual mantendo o estado do objeto Ex escolha de um canal inexistente na TVcontrole usar a mesma textura anterior caso falte uma textura por exemplo uma cena 3D manter uma nota em caso de alteração inválida PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Calcular um valor válido próximo e atribuir ao objeto mantendo sua consistência Ex tentar acertar o relógio para 22h75 22h59 mudar para um canal não existente mudar para o primeiro ou para o último lançar nota maior que a máxima PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Método usual quando não há exceções Caso seja uma condição não tratável Capturar e tratar a exceção robustez Gerar uma mensagem de log com a ocorrência Evitar Log de qualquer coisa Gravar no log e propagar a exceção ASPECTOS DE PROJETO E DESEMPENHO Tratamento de exceções é demorado se um erro pode ser processado localmente trateo ao invés de lançar uma exceção Propagações de exceções devem ser evitadas em casos esperados fim de arquivo por exemplo Exceções são úteis quando dados de entrada não podem ser completamente verificados Exceções são úteis quando não se há o que fazer quando acontece um problema se o arquivo não existe o que fazer quando se quer alertar o usuário do objeto ou método Boa prática de programação se seu método é capaz de tratar uma exceção então tratea Não repasse a responsabilidade Planeje antecipadamente a abordagem para o tratamento de erros e uso de exceções Conheça bem as exceções da linguagem utilizada Prefira exceções mais específicas do que genéricas Crie exceções que tragam algo adicional ou use as exceções da linguagem Siga a nomeação padrão Utilize o construtor para descrever claramente o problema ocorrido Mensagens de erro descritivas Java e parâmetro cause Códigos de erro ou melhor enumeráveis OBRIGADO Dúvidas

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Template Projeto Matematica Aplicada a Computacao - Circuitos Logicos

3

Template Projeto Matematica Aplicada a Computacao - Circuitos Logicos

Linguagens de Programação

PUC

Princípios SOLID e Programação Modular

20

Princípios SOLID e Programação Modular

Linguagens de Programação

PUC

Programação Modular: Herança Múltipla e Conceito de Interface

39

Programação Modular: Herança Múltipla e Conceito de Interface

Linguagens de Programação

PUC

Algoritmo de Huffman

1

Algoritmo de Huffman

Linguagens de Programação

PUC

Trabalho sobre Algoritimos

6

Trabalho sobre Algoritimos

Linguagens de Programação

PUC

Programação Modular: Classes, Objetos e Construtores em Java

39

Programação Modular: Classes, Objetos e Construtores em Java

Linguagens de Programação

PUC

Atividade no Visual Studio Simples

1

Atividade no Visual Studio Simples

Linguagens de Programação

PUC

Padrões de Projeto em Programação Modular: Abordagens e Soluções

17

Padrões de Projeto em Programação Modular: Abordagens e Soluções

Linguagens de Programação

PUC

Fundamentos de Programação Orientada a Objetos

88

Fundamentos de Programação Orientada a Objetos

Linguagens de Programação

PUC

Programação Modular: Enumeração em Java

28

Programação Modular: Enumeração em Java

Linguagens de Programação

PUC

Texto de pré-visualização

PROGRAMAÇÃO MODULAR XULAMBS PIZZA BURGER Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Ao final da execução dados de pedidos e clientes devem ser armazenados em arquivos Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Pedido novoPedido new Pedido novoPedidoaddComidaumaComida Cliente cliente mapaClientesgetcliCPF clienteregistrarPedidonovoPedido PROGRAMAÇÃO DEFENSIVA Conceito baseado na noção de direção defensiva Se alguém fizer algo perigoso você está preparado para evitar consequências Você assume a responsabilidade pela sua saúde mesmo que o erro seja do outro motorista Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Pedido novoPedido new Pedido novoPedidoaddComidaumaComida Cliente cliente mapaClientesgetcliCPF clienteregistrarPedidonovoPedido Cada pedido realizado no restaurante deve ser associado a um cliente cadastrado Pedido novoPedido new Pedido novoPedidoaddComidaumaComida Cliente cliente mapaClientesgetcliCPF clienteregistrarPedidonovoPedido Os pedidos devem ser salvos em arquivo File pedidos new FiledadosPedidosbin File clientes new FiledadosClientesbin Utilsalvarpedidos listaPedidos Utilsalvarclientes mapaClientesvalues Os pedidos devem ser salvos em arquivo File pedidos new FiledadosPedidosbin File clientes new FiledadosClientesbin Utilsalvarpedidos listaPedidos Utilsalvarclientes mapaClientesvalues Os pedidos devem ser salvos em arquivo File pedidos new FiledadosPedidosbin File clientes new FiledadosClientesbin Utilsalvarpedidos listaPedidos Utilsalvarclientes mapaClientesvalues Conceito baseado na noção de direção defensiva Se alguém fizer algo perigoso você está preparado para evitar consequências Você assume a responsabilidade pela sua saúde mesmo que o erro seja do outro motorista Ideia principal na programação Problemas inevitavelmente acontecerão Seu código estará preparado para lidar com eles Robusteza Correção Executar as tarefas especificadas Continuar respondendo em situações anormais Interfaces de componentes de software devem ser especificadas de maneira formal precisa e verificável Précondições Póscondições Invariantes Método chamado précondições ou executa póscondições ou falha Falha situação excepcional Tratamento varia com o tipo de erro Tratamento formal de falhas Separa tratamento do erro do código esperado Propaga erros na pilha de chamada de funções Agrupa e diferencia tipos de erros Podese produzir Exception ou Error em Java Exceções Capturar criar lançar propagar Hierarquia de classes com a responsabilidade de sinalizar erros ou eventos inesperados a um código Hierarquia de classes com a responsabilidade de sinalizar erros ou eventos inesperados a um código ROBUSTEZ Ajudam a impedir que condições de erro sejam propagadas pelo código Não são ignoráveis Podem reduzir a complexidade do código e melhorar a legibilidade Centralizam o tratamento de problemas Ajuda a impedir que condições de erro sejam propagadas pelo código Não são ignoráveis Podem reduzir a complexidade do código e melhorar a legibilidade Centralizam o tratamento de problemas MAS DEVEM SER USADAS RESPONSAVELMENTE try bloco de código padrão catch exceção e1 blocos de tratamento de erros catch exceção e2 finally algumas linguagens oferecem finally bloco que será sempre executado int LeArquivo int codigoErro 0 AbraArquivo if ArquivoFoiAberto ObtenhaTamanhoArquivo if TamanhoFoiObtido AloqueMemoria if MemoriafoiAlocada LeArquivoNaMemoria if LeituraFalhou codigoErro 1 else codigoErro 2 else codigoErro 3 FecheArquivo if ArquivoNaoFechou codigoErro 0 codigoErro 4 else codigoErro codigoErro4 else codigoErro 5 return codigoErro LeArquivo try AbraArquivo ObtenhaTamanhoArquivo AloqueMemoria LeArquivoNaMemoria FecheArquivo catch FalhaAberturaArquivo FaçaAlgumaCoisa catch FalhaObtencaoTamanhoArquivo FacaAlgumaCoisa catch FalhaAlocacaoMemoria FacaAlgumaCoisa catch FalhaLeArquivo FacaAlgumaCoisa catch FalhaFechamentoArquivo FacaAlgumaCoisa Exceção é lançada Ambiente de execução procura um catch para tratamento desta exceção Método em execução não tem este catch Procurase o tratamento no método que chamou o método atual e assim sucessivamente Não é encontrado nenhum bloco catch Mensagem de exceção sem tratamento para usuário Interrompese a execução do programa Um bloco try pode ter vários blocos catch cada um lidando com uma exceção diferente Os catch são processados em ordem É importante escrever primeiro os blocos mais específicos Exceções são classes Ocorrências de exceções são objetos Checked Exceptions Não descendem de RuntimeException Unchecked Exceptions Descendem de RuntimeException Compilador verifica as Checked Exceptions A classe Throwable é a raiz da hierarquia de classes de exceções A classe Exception é uma extensão de Throwable Novas exceções estendem de Exception ou de suas classes filhas Classe Exception possui uma String para armazenar a mensagem de erro de uma exceção O programador tem duas alternativas Tratar uma exceção que pode receber trycatch Delegar a exceção ou criar uma nova throw throws Quatro passos Como capturar e tratar exceções Como lançar uma exceção Como criar sua própria exceção Como propagar uma exceção Tratamento de Erros Se algo deu errado o que fazemos Aconteceu o erro E então Ao acontecer o problema retorne um valor neutro válido que não cause propagação de erro Ex string vazia Inteiro de valor 0 Ponteiro para elemento null Pule para a próxima ocorrência Ex playlist de áudio vídeo ou imagens várias leituras de um dispositivosensor geração de listas e outros conjuntos PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Repetir a última resposta válida ou ignorar a tentativa atual mantendo o estado do objeto Ex escolha de um canal inexistente na TVcontrole usar a mesma textura anterior caso falte uma textura por exemplo uma cena 3D manter uma nota em caso de alteração inválida PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Calcular um valor válido próximo e atribuir ao objeto mantendo sua consistência Ex tentar acertar o relógio para 22h75 22h59 mudar para um canal não existente mudar para o primeiro ou para o último lançar nota maior que a máxima PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Método usual quando não há exceções Caso seja uma condição não tratável Capturar e tratar a exceção robustez Gerar uma mensagem de log com a ocorrência Evitar Log de qualquer coisa Gravar no log e propagar a exceção ASPECTOS DE PROJETO E DESEMPENHO Tratamento de exceções é demorado se um erro pode ser processado localmente trateo ao invés de lançar uma exceção Propagações de exceções devem ser evitadas em casos esperados fim de arquivo por exemplo Exceções são úteis quando dados de entrada não podem ser completamente verificados Exceções são úteis quando não se há o que fazer quando acontece um problema se o arquivo não existe o que fazer quando se quer alertar o usuário do objeto ou método Boa prática de programação se seu método é capaz de tratar uma exceção então tratea Não repasse a responsabilidade Planeje antecipadamente a abordagem para o tratamento de erros e uso de exceções Conheça bem as exceções da linguagem utilizada Prefira exceções mais específicas do que genéricas Crie exceções que tragam algo adicional ou use as exceções da linguagem Siga a nomeação padrão Utilize o construtor para descrever claramente o problema ocorrido Mensagens de erro descritivas Java e parâmetro cause Códigos de erro ou melhor enumeráveis OBRIGADO Dúvidas

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®