如何将main方法放入try catch块?

时间:2015-12-18 03:05:42

标签: java exception try-catch main

我正在制作一个游戏,我的try和catch块在方法中工作,但我的任务的一个标准是将main方法放入try catch块。但每当我将main方法包装在try{ }块中时,它就会给出一个编译错误:非法启动类型。我已经看了这个,我得出结论我需要将try块放入自己的方法中,但是当我这样做时,我得到一个非法的表达式开始。我究竟如何将main方法放入try catch块?

主要方法:

public static void main(String[] args){
    Board board = new Board();
    board.display();
    board.validate();
}

当我尝试将它包装在try catch块(非法启动类型)

try{
    public static void main(String[] args){
        Board board = new Board();
        board.display();
        board.validate();
    }
}

当我试图将它放在一个方法(非法开始表达)

    public void tryCatch(){

       try{
           public static void main(String[] args){
               Board board = new Board();
               board.display();
               board.validate();
           }        
      }
  }

2 个答案:

答案 0 :(得分:3)

您还没有将main方法的内容包装在try-catch中,或者让main方法重新抛出生成的异常

public static void main(String[] args){
    try {
        Board board = new Board();
        board.display();
        board.validate();
    } catch (... exp) {
        exp.printStackTrace();
    }
}

仔细查看Catching and Handling Exceptions了解更多详情

答案 1 :(得分:0)

public static void main(String[] args) throws Exception {
    Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
        @Override
        public void uncaughtException(Thread t, Throwable e) {
            System.out.println("Caught Exception " + e);
        }
    });


    throw new Exception("a serious problem occured");
}

这是输出

  

Caught Exception java.lang.Exception:发生严重问题