gpt4 book ai didi

Java - 在方法外使用 TryCatch

转载 作者:搜寻专家 更新时间:2023-11-01 04:03:14 29 4
gpt4 key购买 nike

import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;

public class Images {
try {
public static Image button = new Image("images/buttons/0/Button.png");
} catch(SlickException e) {
e.printStackTrace();
}
}

这只是给出了一个错误,我希望能够将一些图像存储在静态变量中并从另一个类访问它们而无需实例化它。

我可能会创建一个方法来初始化所有这些变量并为它们设置值,但这样变量就不是静态的了。

我需要 TryCatch 的原因是 Image 类的构造函数抛出一个 SlickException

最佳答案

两种选择:

  • 使用静态初始化 block

    public static final Image button;

    static {
    try/catch in here, assign to button
    }
  • 使用方法进行初始化

    public static final Image button = createButton();

    private static Image createButton() {
    try/catch in here
    }

不过,就我个人而言,我有点怀疑这是个好主意——让类型初始化做“真正的工作”可能会导致难以追踪的错误。是否所有引用代码真的都设置为在出现问题时为空?

关于Java - 在方法外使用 TryCatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11776987/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com