我有一些命令,它在磁盤上創建一個文件。 因爲要創建文件的文件夾是動態的,所以我有一個catch(FileNotFoundException e)。在同一個try塊中,我已經有一個catch(Exception e)塊。 出於某種原因,當我運行我的代碼並且文件夾尚不存在時,使用catch(Exception e)塊,而不是FileNotFoundException。JAVA + try catch(FileNotFoundException e)進入catch(異常e)?
調試器是明確的,但(至少對我來說),呈現出FileNotFoundException異常:java.io.FileNotFoundException:C:\ MYDATA \ 2F8890C2-13B9-4D65-987D-5F447FF0DDA7 \ filename.png(系統無法找到指定的路徑)
任何想法爲什麼它沒有進入FileNotFoundException塊? 謝謝;
CODE:
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;
}
如果您發佈實際存在問題的代碼段,這將會很有幫助。另外請確保您正在導入的FileNotFoundException與正在引發的FileNotFoundException相同。偶爾你的IDE可能會導入錯誤的軟件包,如果你的類路徑中還有一個FileNotFoundException異常的庫。不太可能,但首先排除這一點很重要。 – Jberg 2011-05-05 14:05:54
請張貼代碼和stacktrace以及。 – Bhushan 2011-05-05 14:29:36
這應該起作用。使用@normalocity建議的確認異常類名稱。我敢冒險猜測它可能是一個普通的IOException。 – JustinKSU 2011-05-05 15:51:54