开发者社区> 问答> 正文

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

"

<span class=""img-wrap""><img referrerpolicy=""no-referrer"" data-src=""/img/bVDhMY?w=588&h=371"" src=""https://cdn.segmentfault.com/v-5e8d8dec/global/img/squares.svg"" alt=""图片描述"" title=""图片描述"" />

报这个异常
Unhandled exception type Exception

" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/0aef7ce9af1c48f3ba8f57e8080f3638.png)

展开
收起
因为相信,所以看见。 2020-05-26 13:56:19 720 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    "

    <img src=""/img/bVDhN3?w=568&h=47"" alt=""clipboard.png"" title=""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()的异常进行处理,所以报错。

    ######

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

    " ![image.png](https://ucc.alicdn.com/pic/developer-ecology/def96e23a85749dba53d5c6c71c49fcc.png)
    2020-05-27 10:09:02
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
多IO线程优化版 立即下载