JAVA + try catch (FileNotFoundException e) переходит в catch (Exception e)?

У меня есть команда, которая создает файл на диске. Поскольку папка, в которой должен быть создан файл, является динамической, у меня есть ловушка (FileNotFoundException e). В том же блоке try у меня уже есть блок catch (Exception e). По какой-то причине, когда я запускаю свой код, а папка еще не существует, используется блок catch (Exception e), а не блок FileNotFoundException.

Отладчик, тем не менее, ясен (по крайней мере, для меня), показывая FileNotFoundException : java.io.FileNotFoundException: c: \ mydata \ 2F8890C2-13B9-4D65-987D-5F447FF0DDA7 \ filename.png (Система не может найти указанный путь)

Есть идеи, почему он не попадает в блок FileNotFoundException? Спасибо;

КОД:

import java.io.FileNotFoundException;

try{
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Rectangle screenRectangle = new Rectangle(screenSize);
    Robot robot = new Robot();
    BufferedImage image = robot.createScreenCapture(screenRectangle);
    ImageIO.write(image, "png", new File(fileName));
}
catch (FileNotFoundException e){
    // do stuff here..
    return false;
}
catch(Exception e){
    // do stuff here..
    return = false;
}
6
задан matsev 29 April 2013 в 19:37
поделиться