我正在制作一个游戏,我的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();
}
}
}
答案 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:发生严重问题