Pessoal por acaso poderia criar uma castException dentro de uma classe normal? e usar o throws pra disparar ela? Eu estava estudando cast e pareceu esta duvida. por que existe dois tipos de cast o implicito e o explicito. A função da castException poderia ser de negar o compilador a compilar corretamento o codigo?
Grato…
Cast com castException existe?
G
3 Respostas
O ClassCastException é um RuntimeException, ou seja ela ocorre em tempo de execução. Logo, acredito que não seja possível fazer o que você quer!
T
Eu recentemente escrevi um código que lançava uma ClassCastException se você passasse um objeto cuja classe não fosse a configurada.
/**
* Adicionar uma linha à tabela.
* @param obj A linha.
* @throws ClassCastException se o tipo do objeto não for o mesmo que o definido no construtor.
*/
public void addRow(T obj) {
if (klass.isAssignableFrom(obj.getClass()))
linhas.add(obj);
else
throw new ClassCastException("Tentou-se adicionar um objeto da classe "
+ obj.getClass().getName() + " a uma tabela cujas linhas são da classe " + klass.getName());
fireTableRowsInserted(linhas.size(), linhas.size()) ;
}
Eu acho que uma exceção do tipo ClassCastException é do tipo não checada, então com isso ,não é obrigatório o tratamento dela, até pelo fato dela herdar de RunTimeException.
Uma exceção do tipo RunTime ela pode parar a execução do programa ou não,a depender do tipo de tratamento que é dado para aquele tipo de Exceção.
A abb = new A();
B bbb = new B();
bbb.moe("");
Boolean[] teste = new Boolean[4];
// if(teste[1] == false);
String[] testea;
int abc =2;
byte def = 2;
System.out.println("teste tipos primietvos: "+(abc == def));
try {
throw new ClassCastException();
} catch (ClassCastException ex) {
System.out.println("teste");
} catch (Exception ex) {
}
int a = 200, b, c;
a = b = c = 100;
List s1 = new ArrayList();
System.out.println("teste: " + (bbb instanceof Runnable));
é um exemplo de codigo que mostra que a exceção não altera em nada o fluxo de execução do programa.
Criado 27 de dezembro de 2006
Ultima resposta 28 de dez. de 2006
Respostas 3
Participantes 4
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo