java中的可查异常为什么能在主方法抛出,难道JVM能处理吗
展开全部
Java的异常处理使得程序拥有很高的容错率。当方法抛出一个异常时,表示该方法可能会出现某种错误(比如实现计算器时的除零,n/0),方法调用者可以通过try...catch捕获该异常并提示给使用者。JVM大多数情况下不会处理程序抛出的异常,而是会直接终止程序。
另外异常并非是在主方法中抛出,调用任何方法时都可能有异常抛出。
另外异常并非是在主方法中抛出,调用任何方法时都可能有异常抛出。
追问
jvm大多数情况不处理,那可以说他有处理受查异常的能力吗?
追答
至少我还没见过JVM处理过什么异常,唯一的处理就是直接挂掉吧。。。Java的异常处理机制本身就是交给开发者去处理这些问题的,不然设计这个机制还有什么意义呢?既然方法将异常抛出给你,你就应该自主的去解决这个异常,哪怕是不处理,至少也应该try...catch一下。。。由主方法抛出只是初学时为了方便才这么做的,非要给理由,那就是:如果出现这个异常,那这个程序就给我死掉吧死掉吧死掉吧!
展开全部
因为你的主main方法没有捕获这些异常才会抛到虚拟机中的。如果main方法没有明确的标识抛出某种异常,那这些被抛出去的异常是运行异常,这种异常都是可以提前预防的。
追问
如果在主方法中抛出IO异常,在出错的情况下,jvm会做怎样的处理,还是说虚拟机根本不会处理,直接程序结束
追答
虚拟机不会处理,直接结束虚拟机。这个IO异常是编译时异常,必须明确抛给虚拟机,或者手动捕获。如果是一个正式的程序,肯定要自己捕获做处理的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为写的是自己的Demo(演示) 或者 Test(测试) 代码 所以懒得解决异常问题
抛出异常比try catch更简洁,更方便
实际开发中, 还是得try catch解决的
抛出异常比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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询