java中有几个小问题问下,下面异常是什么,关于system.exit(0)的意思是什么,求大神解答

publicclassTest{publicstaticvoidmain(String[]args){try{int[]a=newint[3];System.exit(0... public class Test {
public static void main(String[] args) {
try{
int []a=new int[3];
System.exit(0);
}
catch(ArrayIndexOutOfBoundsException e)
{System.out.println("发生了异常");}
finally
{System.out.println("finally");}
}
}
不是说finally语句块不管是否捕获到异常都要执行的吗,为什么在执行时提示有错
展开
 我来答
pieryon
2014-10-17 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
你好,这个是java异常的例子,并不会抛出异常:
System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
追答
请采纳
kingkate2009
推荐于2016-08-12 · TA获得超过535个赞
知道小有建树答主
回答量:557
采纳率:50%
帮助的人:253万
展开全部
异常 捕捉的是 数组越界异常
System.exit(0);是程序执行完后 正常终止。其实没有这句程序如果没有异常还会终止的
因为你在声明数组 a之后 就使用exit(0) 退出程序了 这时候 程序就不会再执行finally了 你把exit(0)这句去掉试试。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoudha
生活家

2014-10-17 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:196万
展开全部
程序正常终了,退出。
追问
没有任何输出吗??不是说finally语句块不管是否捕获到异常都要执行的吗,为什么在执行时没有输出
追答
直接退出程序了。
要不你把这句话加到finally里吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式