demyz0r Posted May 21, 2014 at 10:14 AM Report #556447 Posted May 21, 2014 at 10:14 AM (edited) Boas pessoal eu tenho o seguinte codigo, mas a minha excepção não está a funcionar, alguém me poderia dizer qual é o erro? Ele deve lançar a excepção caso a "Opção" seja diferente de 0,1,2,3 ou 4. try { System.out.println("1. Método de Eliminação de Gauss "); System.out.println("2. Teorema de Laplace"); System.out.println("3. Menor Complementar (1,j)"); System.out.println("4. Gere aleatoriamente matrizes de ordem n"); System.out.println("0. Sair"); opcao = Utils.readIntFromConsole("Introduza opção: "); if (valida(opcao)) { throw new InputIncorretoException(); } if (opcao == 1) { MetodoGauss mg = new MetodoGauss(); do { opcao = Utils.readIntFromConsole("1. Gerar matriz\n2.Introduzir matriz"); } while (opcao < 1 || opcao > 2); System.out.println("Det = " + mg.DetGauss(decide(opcao))); } if (opcao == 2) { TeoremaLaplace tl = new TeoremaLaplace(); do { opcao = Utils.readIntFromConsole("1. Gerar matriz\n2.Introduzir matriz"); } while (opcao < 1 || opcao > 2); System.out.println("Det = " + tl.teoremaLaplace(decide(opcao), Utils.readIntFromConsole("Selecione uma coluna: "))); } if (opcao == 3) { TeoremaLaplace tl = new TeoremaLaplace(); do { opcao = Utils.readIntFromConsole("1. Gerar matriz\n2.Introduzir matriz"); } while (opcao < 1 || opcao > 2); Matriz matriz = new Matriz(1); matriz.imprimeMatriz(tl.MenorComplementar(decide(opcao), Utils.readIntFromConsole("Selecione uma coluna: "))); } if (opcao == 4) { int x = Utils.readIntFromConsole("Tamanho da matriz: "); Matriz m = new Matriz(x); m.imprimeMatriz(m.converter(m)); } }catch (InputIncorretoException excecao) { } } while (opcao != 0); } Edited May 21, 2014 at 10:33 AM by brunoais geshi... -ish
HappyHippyHippo Posted May 21, 2014 at 10:17 AM Report #556448 Posted May 21, 2014 at 10:17 AM - como sabes que não está a lançar a excepção ? - onde está a lançar a excepção ? - onde indica que deve lançar a excepção nos casos que descreves ? - onde é que verificas esses casos ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
demyz0r Posted May 21, 2014 at 11:12 AM Author Report #556455 Posted May 21, 2014 at 11:12 AM Não está a lançar, porque quando eu corro o programa e meto outra opção sem se de 0 a 4 no menu, ele apenas repete o menu e não mostra a excepção que eu criei noutra classe e invoco nesta. ele faz o try do meu codigo e espera pela opção, inserindo-a, se fosse invalida, devia fazer o catch da mesma.
HappyHippyHippo Posted May 21, 2014 at 11:27 AM Report #556458 Posted May 21, 2014 at 11:27 AM mas como sabes que não faz catch ? olha bem para o código ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
demyz0r Posted May 21, 2014 at 12:39 PM Author Report #556464 Posted May 21, 2014 at 12:39 PM Ou seja, está a fazer o catch tenho que o meter a imprimir a mensagem?
HappyHippyHippo Posted May 21, 2014 at 01:28 PM Report #556473 Posted May 21, 2014 at 01:28 PM Ou seja, está a fazer o catch tenho que o meter a imprimir a mensagem? provavelmente ... não faço ideia do que a aplicação é ou deverá fazer ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
demyz0r Posted May 22, 2014 at 11:09 AM Author Report #556609 Posted May 22, 2014 at 11:09 AM Esta excepção tem como objectivo alertar o utilizador se inserir uma opção invalida nas opções do menu, ou seja, um numero maior que 4 e menor que 0, ou um carácter "desconhecido", como uma letra ou um "." "%" etc. Agora que já sabes podes-me ajudar com mais clareza?
HappyHippyHippo Posted May 22, 2014 at 11:32 AM Report #556613 Posted May 22, 2014 at 11:32 AM sim, a solução mais simples é teres a apresentação da mensagem dentro do bloco de código catch IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now