如何在异常处理中删除部分消息java.lang.IllegalArgumentException

时间:2014-10-16 11:14:45

标签: java swing exception-handling java-7

我正在开发一个Swing应用程序,其中一个表单使用异常处理多个验证。知道自Java 7以来可以使用mutli-catch语句,我用它来改进我的代码,但从那时起Stacktrace始终以:

开头

" java.lang.Exeption:" +处理异常消息。

如何删除此邮件的" java.lang.Exeption:"

以下是我的一些验证和执行的示例。

的ActionEvent:

  public void actionPerformed(ActionEvent arg0){

       //Validation 1
       NomeGrupoVazio(string1);

       //Validation 2
       ValidaString(string2);

       //Validation 3
       DiferenciarRMs(int1, int2, int3, int4);


   }

Valitadions:

private void NomeGrupoVazio(String nome) {
            if (nome.isEmpty()) {
                   throw new IllegalArgumentException("Preencha o nome do grupo!");
    }
}

private void ValidaString(String s) {

    Pattern pattern = Pattern.compile("[0-9]");
    Matcher matcher = pattern.matcher(s);
    if (matcher.find()) {
        throw new IllegalArgumentException(
                "Por favor digite apenas caracteres não numéricos nos campos referentes aos nomes");
    }
}

private void DiferenciarRMs(int rm1, int rm2, int rm3, int rm4) {
    if (rm4 == 0) {
        if (rm1 == rm2 || rm1 == rm2 || rm1 == rm3 || rm2 == rm3) {
            throw new IllegalArgumentException(
                    "Todos os RM's precisam ser diferentes");

        }
    } else if (rm1 == rm2 || rm1 == rm3 || rm1 == rm4 || rm2 == rm3
            || rm2 == rm4 || rm3 == rm4) {
        throw new IllegalArgumentException(
                "Todos os RM's precisam ser diferentes");
    }

提前致谢!

1 个答案:

答案 0 :(得分:1)

我想,您正在使用Exception#toString()来获取异常消息。请尝试使用Exception#getMessage()

Exception ex = new IllegalArgumentException("My Error Message!");
System.out.println(ex.toString()); 
System.out.println(ex.getMessage());

希望有所帮助。