java中的可查异常为什么能在主方法抛出,难道JVM能处理吗

 我来答
balsum
推荐于2016-05-13 · TA获得超过311个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:181万
展开全部
Java的异常处理使得程序拥有很高的容错率。当方法抛出一个异常时,表示该方法可能会出现某种错误(比如实现计算器时的除零,n/0),方法调用者可以通过try...catch捕获该异常并提示给使用者。JVM大多数情况下不会处理程序抛出的异常,而是会直接终止程序。
另外异常并非是在主方法中抛出,调用任何方法时都可能有异常抛出。
追问
jvm大多数情况不处理,那可以说他有处理受查异常的能力吗?
追答
至少我还没见过JVM处理过什么异常,唯一的处理就是直接挂掉吧。。。Java的异常处理机制本身就是交给开发者去处理这些问题的,不然设计这个机制还有什么意义呢?既然方法将异常抛出给你,你就应该自主的去解决这个异常,哪怕是不处理,至少也应该try...catch一下。。。由主方法抛出只是初学时为了方便才这么做的,非要给理由,那就是:如果出现这个异常,那这个程序就给我死掉吧死掉吧死掉吧!
野火冷魂
2015-11-27
知道答主
回答量:12
采纳率:0%
帮助的人:7.1万
展开全部
因为你的主main方法没有捕获这些异常才会抛到虚拟机中的。如果main方法没有明确的标识抛出某种异常,那这些被抛出去的异常是运行异常,这种异常都是可以提前预防的。
追问
如果在主方法中抛出IO异常,在出错的情况下,jvm会做怎样的处理,还是说虚拟机根本不会处理,直接程序结束
追答
虚拟机不会处理,直接结束虚拟机。这个IO异常是编译时异常,必须明确抛给虚拟机,或者手动捕获。如果是一个正式的程序,肯定要自己捕获做处理的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪飞潇潇
2015-11-27 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:835万
展开全部
因为写的是自己的Demo(演示) 或者 Test(测试) 代码 所以懒得解决异常问题

抛出异常比try catch更简洁,更方便

实际开发中, 还是得try catch解决的
追问
也就是说 根本没有处理,只是把受查异常传递给jvm保证了编译的正常,但如果出现了异常,程序直接终止吗?会不会报信息提示?
追答

会终止, 会提示

package entity;
import java.io.IOException;
public class ExceptionDemo {
public static void main(String[] args) throws IOException {
throw new IOException();
}
}

运行结果

Exception in thread "main" java.io.IOException
at entity.ExceptionDemo.main(ExceptionDemo.java:5)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式