我有一个带有从网站获取图像的方法的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))

10-07 23:13