我只是想使用try catch语句,但由于某种原因,只有当我做了以下工作:
{try {
img = ImageIO.read(originalImageone);
Image one= img.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
imgtwo = ImageIO.read(ogImagetwo);
Image two = imgtwo.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
imgthree = ImageIO.read(Imagethree);
Image three = imgthree.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
imgfour = ImageIO.read(Imagefour);
Image four = imgfour.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
imgfive = ImageIO.read(Imagefive);
Image five = imgfive.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
imgsix = ImageIO.read(Imagesix);
Image six = imgsix.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
imgseven = ImageIO.read(Imageseven);
Image seven = imgseven.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
imgeight = ImageIO.read(Imageeight);
Image eight = imgeight.getScaledInstance(512, 512, Image.SCALE_DEFAULT);
}catch(IOException e){
e.printStackTrace();
}}
代码开头行上面的语句是:
BufferedImage imgeight = null;
因此,出于某种原因,上述工作尽管有一个额外的大括号,你可以看到。每次我试图删除多余的花括号我得到一个错误。有人知道为什么是这样吗?
你显然是无意中发现了一个匿名的“静态初始化”块应用。 try和catch是只能“可执行”代码块等的方法(和静态块 - 在代码运行构造对象之前)内被找到的关键词。为了使它明确;尝试写这样的:
BufferedImage img = null;
...
BufferedImage imgeight = null;
static {
try {
...
}
catch (Exception e) {
...
}
}