java - 是否有可能捕获所有可能的错误/异常?

标签 java swing exception try-catch

我有一个包含许多类的 Java Swing 程序。我确实会在需要的地方使用 try-catch,但不会在其他地方使用。我还有一个记录器类,它在捕获到异常时写入文件。它打印出堆栈跟踪和消息。

我希望能够记录每个异常,但又不想到处都使用 try-catch。这可能吗?

-- 编辑(我的主要方法)--

public class Bacon extends Thread implements UncaughtExceptionHandler {
    public static Bacon instance = null;
    private JFrame main;

    private Bacon() {
        main = new JFrame("Bacon");
        main.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        main.addWindowListener(new WindowEventHandler());
        setLAF();
        main.setSize(Constants.MAIN_DIMENSION);
        main.setLocationRelativeTo(null);
        main.setExtendedState(JFrame.MAXIMIZED_BOTH);
        main.setIconImage(getIcon());
        setUserName();
        setUncaughtExceptionHandler(this);

        main.setJMenuBar(Menu.getInstance());
        main.setContentPane(getMainPanel());
        main.setVisible(true);
    }

    public static Bacon getInstance() {
        if(instance == null)
            instance = new Bacon();

        return instance;
    }

    private JPanel getMainPanel() {
        JPanel main = new JPanel(new BorderLayout());

        main.add(Tabs.getInstance(), BorderLayout.CENTER);
        main.add(StatusBar.getInstance(), BorderLayout.SOUTH);

        return main;
    }

    .
    .
    .
    .
    .
    .
    .

    public static void main(String[] args) {
        try {
            getInstance();
        } catch (Throwable t) {
            ErrorLogging.log(t.getStackTrace(), t.getMessage());
        }
    }

    @Override
    public void uncaughtException(Thread t, Throwable e) {
        ErrorLogging.log(e.getStackTrace(), e.getMessage());
    }
}

最佳答案

绝对!

查看 Thread 类的方法 setDefaultUncaughtExceptionHandler。

Thread.setDefaultUncaughtExceptionHandler

关于java - 是否有可能捕获所有可能的错误/异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455416/

相关文章:

java - 如何比较哈希表中的值或键?

java - 为未分配/可选参数设置随机值

java - Netbeans java Swing jRadioButton setIcon 和 setSelectedIcon

java - 我不明白为什么会出现此错误 : ConcurrentModificationException

java - 对事务和锁定的 jpa 考试感到困惑

java - Spring SOAP WS 在本地工作,但不在 tomcat 7 上工作

java - 如果 Java Android 的几分钟结束,如何检查此日期时间模式

java - 添加到 JPanel 的组件按什么顺序绘制?

java - 当我在选择 0 索引的情况下删除和添加时,Swing JList 卡住

Python ftplib STORE 可靠吗?