1.Integer.valueOf(s),未对入参s做校验,抛出了 java.lang.NumberFormatException: For input string: “”
看了下Integer.valueOf(s)方法,此方法 throws NumberFormatException,但是idea没有提示需要捕获异常,
百思不得其解,后来看《java编程思想》第十二章–通过异常处理错误,这一章里有语话,发现错误的理想时机是在编译阶段。
猜想到可能运行时异常就算用throws关键字抛出,编译器也不会提示需要捕获。
文章图片
文章图片
文章图片
上面两个图可以看到 RuntimeException的异常及其子类在编译的时候确实不提示需要捕获
【项目中 Integer.valueOf("")抛出了异常,所联想到的】二、我们再来看个需要捕获的异常的例子:
文章图片
文章图片
文章图片
看到继承自exception的异常,需要抛出。
推荐阅读
- 异常处理
- Tomcat启动不了的原因(本地计算机上的Apache Tomcat 服务启动后又停止了)
- 微信开发 发送模板消息异常-------{"errcode":40103,"errmsg":"invalid industry index"}
- kafka处理超大消息的配置 org.apache.kafka.common.errors.RecordTooLargeException