为什么在一个版本中只有REC_Catch_Exception而在另一个版本中没有?

时间:2014-07-26 08:09:49

标签: java exception findbugs

在第一个代码(code1)中,findbugs发现了一个REC_catch_Exception警告,因为

try { ... } catch (Exception e) 

不是一个好的风格。但是在第二个代码(code2)中,警告消失了。

为什么呢?唯一的区别是setMatrikelnummer类型:IntegerString

        //code1: With REC_Catch_Exception 
        try {
                // set student datas
                currentStudent.setVorname(registration[0]);
                currentStudent.setName(registration[1]);
                currentStudent.setMatrikelnummer(Integer
                        .parseInt(registration[2]));
                currentStudent.setEmail(registration[3]);
                currentStudent.setAnrede(registration[4]);
                currentStudent.setStudiengang(registration[5]);

                DateFormat formatter = new SimpleDateFormat(
                        "EEE MMM dd hh:mm:ss z yyyy", Locale.UK);
                Date registrationDate = formatter.parse(registration[6]);
                currentRegistration.setRegistrationDate(registrationDate);

            } catch (Exception E) {
                throw new WrongFormatException(
                        "Die Textdateien befinden sich im falschen Format");
            }

        //code2: Without REC_Catch_Exception 
        try {
                // set student datas
                currentStudent.setVorname(registration[0]);
                currentStudent.setName(registration[1]);
                currentStudent.setMatrikelnummer(registration[2]);
                currentStudent.setEmail(registration[3]);
                currentStudent.setAnrede(registration[4]);
                currentStudent.setStudiengang(registration[5]);

                DateFormat formatter = new SimpleDateFormat(
                        "EEE MMM dd hh:mm:ss z yyyy", Locale.UK);
                Date registrationDate = formatter.parse(registration[6]);
                currentRegistration.setRegistrationDate(registrationDate);

            } catch (Exception E) {
                throw new WrongFormatException(
                        "Die Textdateien befinden sich im falschen Format");
            }

1 个答案:

答案 0 :(得分:0)

当try-catch块中有多个异常时,会触发REC_Catch_Exception。也许在第一个代码中,两个异常是可能的并且REC_Catch_Exception触发但在第二个代码中只有一个异常是可能的并且没有REC_Catch_Exception触发/