e ae galera blz… Olh soh, eu criei uma classe Data que recebe no construtor uma String desse formato DD/MM/AAAA e separa o dia, o mes e o ano em variaveis inteiras. Eu quero criar uma excecao para essa classe, para verificar se a String que esta sendo passada na hora de instanciar a classe e uma data valida ou nao, alguem pode me ajudar?
faça uma classe que herde os atributos da classe exception
dai, qndo vc quiser lançar a exceção:
throw new MinhaExcecao(mensagem);
class MinhaExcecao
{
public MinhaExcecao(String msg
{
super(msg);}
}
lembre-se de capturar e tratar exceçoes… Demorei quase 1 hora pra achar o erro no codigo de um daqueles códigos de cds de revistas…
era um try - catch errado…
eu tentei poupar os detalhes, mas ja que vc falou…
se vc notar bem, tem os mesmos efeitos de se implementar a interface throwable
dexa eu ve se intendi…no construtor da classe eu faço as verificacoes, por exemplo, a minha classe recebe uma String, dai eu separo o dia o mes e o ano, se o mes for maior que 12 ai eu disparo a excecao usando
throw new MinhaExcecao(mensagem);?
isso mesmo amigão…
mas veja nas exceções ja existentes se não tem algo que dá certo para você
tem uma exceção, InvalidArgumentException - exatamente o que você precisa tratar: um argumento ilegal
vc pode fazer assim:
throw new InvalidArgumentException(“O mês deve ser entre 1 e 12”);
blz?
procure sempre que você for criar uma exceção se não existe uma exceção da API do java que é o que vc quer lançar
[quote=“microfilo”]faça uma classe que herde os atributos da classe exception
dai, qndo vc quiser lançar a exceção:
throw new MinhaExcecao(mensagem);
[code]
class MinhaExcecao
{
public MinhaExcecao(String msg
{
super(msg);}
}
[/code][/quote]
Q q eh isso? microfilo?
Existem dois tipos de exceções: As checked exceptions e as unchecked exceptions.
As checked exceptions, extendem a Exception e é necessário que sempre tenha um bloco try{…}catch{…} para tratar essa exceção.
Já as unchecked exceptions, extendem a RuntimeExcepion, e não é preciso tratá-las sempre.
Então, qnd quiser criar uma exception, verifique qual vai ser o seu tipo, extenda a classe certa, e sobrescreva alguns contrutores (option).
T+