我有一个带有从网站获取图像的方法的java类:
private Image image;
private int height;
private int width;
private String imageUri;
public Image getImage() {
if (image == null) {
log.info("Fetching image: " + imageUri);
try {
URL iURL = new URL(imageUri);
ImageIcon ii = new ImageIcon(iURL);
image = ii.getImage();
height = image.getHeight(null);
width = image.getWidth(null);
} catch (SecurityException e) {
log.error("Unable to fetch image: " + imageUri,e);
} catch (MalformedURLException e) {
log.error("Unable to fetch image: " + imageUri,e);
}
}
return image;
}
问题是,有时我尝试获取的imageUri会被重定向,从而导致ImageIcon构造函数抛出java.lang.SecurityException-未被catch子句捕获,从而导致程序终止。
任何人都可以建议我如何捕获此异常?
谢谢
最佳答案
构造函数抛出异常,该异常未包装在try块中。
new ImageIcon(new URL(imageUri))