Como criar um erro em Java?

Todas as pesquisas que fiz parecem focadas em erros de "captura". Quero ser capaz de criar o meu próprio se determinadas condições forem cumpridas. Tentei usar a classe erro() e suas subclasses, mas o Eclipse não as reconhece.

Isto é o que eu quero fazer.
if(some_condition) {
    foobar();
}
else {
    // raise an error
}
Pergunta estúpida, eu sei, mas pesquisei no Google e descobri que alguém lá fora me poderia ajudar.

Obrigado antecipadamente!


Obrigado a todos! Se você está lendo isso no futuro, aqui está o skinny:

  1. erros em Java referem-se a problemas que você não deve tentar capturar

  2. exceções referem-se a erros que você pode querer pegar.

Aqui está o meu código "Fixo":
if(some_condition {
    foobar();
}
else {
    throw new RuntimeError("Bad.");
}

eu usei {[[2]} porque, como uma resposta apontou, eu não tenho que declarar que estou lançando um erro de antemão, e como estou confiando em uma condição, isso é muito útil.

Obrigado a todos!

Author: Eli Dinkelspiel, 2016-01-22

5 answers

Aqui tens.
throw new java.lang.Error("this is very bad");
É mais idiomático lançar uma subclasse de excepção. O RuntimeException em particular não é controlado (por exemplo, os métodos não precisam declarar que eles podem jogá-lo). (Bem, assim é o erro, mas é suposto ser reservado para coisas irrecuperáveis).
throw new java.lang.RuntimeException("this is not quite as bad");
Nota: não é preciso construí-las naquele momento. Podes atirar as pré-construídas. Mas uma coisa boa na construção deles é que eles gravam a linha de código em que estavam. e a pilha de chamadas completa que aconteceu no momento da construção, e assim construindo uma nova direita quando você joga ela injeta-a com informações diagnósticas muito úteis.
 25
Author: G. Sylvie Davies, 2016-01-22 03:26:42

Tenta abrir uma excepção:

public void yourMethod() throws Exception {
    if (some_condition) {
        foobar();
    }
    else {
        throw new Exception("Something bad happened.");
    }
}
 6
Author: Tim Biegeleisen, 2016-01-22 03:24:10

Um erro em Java é chamado de excepção ( Veja Isto ).

if(some_condition){
   foobar();
} else {
   throw new Exception();
}
Formalmente, um erro é qualquer classe que se estende do Descartável.

A classe Throwable é a superclasse de todos os erros e excepções em a linguagem Java. Apenas os objectos que são instâncias desta classe (ou uma de suas subclasses) é lançada pela máquina virtual Java ou pode ser jogado pela declaração de lançamento Java. Da mesma forma, apenas esta classe ou uma de suas subclasses pode ser o argumento escreva uma cláusula de captura. Para os fins de verificação em tempo de compilação das exceções, descartáveis e eventuais subclasse de Throwable que não é também uma subclasse de qualquer A descrição do tempo de execução ou o erro são considerados como excepções assinaladas.

...

Https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html

 1
Author: Manuel Vieda, 2016-01-22 03:26:57
Estás a tentar criar um erro apenas na consola? Ou está a tentar mostrar um erro ao utilizador?

Nesse Caso, poderá usar uma área de JOptionPane para criar uma janela de erro.

 1
Author: Shivam Sinha, 2016-01-22 03:27:00
Não precisas de te sentir estúpido. Você pode criar sua própria exceção, por exemplo,
public class UnknownUnitException extends Exception{
    private String message = null;
    public UnknownUnitException() {
        super();
    }
    public UnknownUnitException(String message) {
        super(message);
        this.message = message;
    }
    public UnknownUnitException(Throwable cause) {
        super(cause);
    }
    @Override
    public String toString() {
        return message;
    }
    @Override
    public String getMessage() {
        return message;
    }
}

Eu recomendaria Lição: exceções nos tutoriais Java

 1
Author: Tamias, 2016-01-22 03:38:21