Criar excecoes

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? :wink:

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+