Java这个方法为什么报异常,并没有io操作呀?

图片描述

报这个异常
Unhandled exception type Exception

阅读 3k
6 个回答

clipboard.png

受检的异常必须要声明抛出或者try catch

这不是异常 这是编译错误

首先你要看看书搞懂下JAVA的异常处理机制,内容较多不在这细说。但是其中有一点是可以回答你这个问题的,就是java要求在调用含有异常抛出声明的方法时(也就是方法后面含有 throws xxxxException 的情况)必须对异常进行处理。处理方式有两种:

  1. 继续声明抛出异常,将异常处理交给下一个调用者;

  2. 使用try...catch块进行异常处理;

用你的代码举个栗子:

 //第一种处理方式
public static void main(String[] args) throws Exception { 
     //使用throws关键字声明抛出异常
     //这种处理方式是将异常继续向上抛,大多数情况下不会在main方法中这样做
     system.print.out(getDay('xxxx-xx-xx',1));
}

 //第二种处理方式
public static void main(String[] args)  { 
     //使用try..catch块处理异常
     //这种处理方式是将异常进行人工处理
     try{
     system.print.out(getDay('xxxx-xx-xx',1));
     }catch(Exception e){
        //处理异常代码,比如进行异常信息输出或者记录日志,或者其他符合业务需求的逻辑     
     }
}

getDay()方法将它的异常 抛给了它的上层(调用它的地方)。在main方法中 没有对getDay()的异常进行处理,所以报错。

新手上路,请多包涵

调用抛出异常的方法必须对异常进行处理或重新抛出

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题