A linguagem de programação Java tem uma abordagem baseada em exceções para lidar com a detecção de erros e manipulação no código. Ao invés de criar um sistema complexo de aninhadas declarações if-else para tentar pegar todos os erros possíveis , todos os erros captura podem ser organizados em uma série de declarações " try-catch " no final de uma função. Isso permite que o controle de erros para sair do caminho do fluxo real do programa e leva a mais legível , o código mais fácil de manter. Coisas que você precisa
Computer Fotografia de Java Runtime Environment
Java Development Kit
editor de texto ou
Java IDE
Visualizar Mais instruções
1
Escolher classe pai. Qualquer subclasse de Java.Lang.Exception pode ser usado como o pai para uma nova classe de excepção . No entanto, para este exemplo , você vai usar a classe básica Exceção como um pai. Exceção nos dá todas as necessidades básicas de uma exceção : . É throwable , pode imprimir um rastreamento de pilha, e permite que uma mensagem seja recuperada sobre a natureza da exceção
2
Criar uma subclasse que estende essa classe pai. Isto é o mesmo que criar qualquer outra subclasse em Java . Para código de boa legibilidade , é padrão para terminar sempre o nome da classe com a palavra " Exception" . Para este exemplo, você vai construir uma exceção para lidar com a entrada do usuário ruim, chamado, simplesmente o suficiente, BadUserInputException .
Public class BadUserInputException estende Exception {}
Este código sozinho realmente dá-lhe tudo o que você precisa imediatamente de iniciar jogar e pegar essa exceção , e em muitos casos , isso vai ser tudo que você precisa.
3
Adicione quaisquer características únicas para a sua exceção. Você pode querer a sua classe de exceção para ter algumas características únicas acima e além da capacidade de ser lançada e pego com uma impressão de rastreamento de pilha para fora. Então , você irá adicionar alguma informação nova para sua classe de exceção
public class BadUserInputException estende Exception { inputString private String ; .
GetInputString pública () { return ( inputString );}
BadUserInputException público (entrada string) { super () ; inputString = input ;} ;}
Agora , sua exceção terá uma função extra, getInputString (), que pode ser chamado a qualquer hora seu exceção é lançada para obter uma cópia da entrada do usuário ruim em questão a ser impresso em um log de erro ou examinadas pelo programa para determinar o que fazer a seguir.
4
Adicione uma instrução throw às funções que podem causar a exceção de ocorrer . Uma exceção é inútil se não for lançada por alguma função. A instrução throw essencialmente passa um erro se a pilha para permitir que uma parte maior nível do programa para determinar o que deve ser feito com ele . Este BadUserException será lançada por uma função getUserInput () , apropriadamente :
/*** Javadoc para getUserInput . Você gostaria de mencionar aqui * que esta função lança uma BadUserInputException * para que você saiba para pegá-lo mais tarde. * @ Throws BadUserInputException Se ocorrer má entrada. * @ Return a entrada do usuário se nenhuma exceção é lançada. * /Public getUserInput String ( ) throws BadUserInputException { BufferedReader in = new BufferedReader (new InputStreamReader ( System.in ) ); entrada string = in.readLine (); ! if ( ValidInput (entrada) jogue BadUserInputException (entrada) , senão voltar de entrada; }
. 5
Adicione código para capturar a exceção quando as funções que o utilizam são usados isso permitirá que o seu programa reagir a erros de uma forma limpa controlado o código para fazer isso será parecido com este exemplo simples: .
gameLoop public void () { try { printMenu (); escolha string = getUserInput (); if ( choice.equals ( "Q") ) quit () , senão continuar ();} catch ( BadUserIputException e) { System.out . println ( "Erro: " + e.getInputString ( ) + " : . não é válido de entrada );}}