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语句块不管是否捕获到异常都要执行的吗,为什么在执行时提示有错 展开
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语句块不管是否捕获到异常都要执行的吗,为什么在执行时提示有错 展开
3个回答
展开全部
你好,这个是java异常的例子,并不会抛出异常:
System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
追答
请采纳
展开全部
异常 捕捉的是 数组越界异常
System.exit(0);是程序执行完后 正常终止。其实没有这句程序如果没有异常还会终止的
因为你在声明数组 a之后 就使用exit(0) 退出程序了 这时候 程序就不会再执行finally了 你把exit(0)这句去掉试试。
System.exit(0);是程序执行完后 正常终止。其实没有这句程序如果没有异常还会终止的
因为你在声明数组 a之后 就使用exit(0) 退出程序了 这时候 程序就不会再执行finally了 你把exit(0)这句去掉试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序正常终了,退出。
追问
没有任何输出吗??不是说finally语句块不管是否捕获到异常都要执行的吗,为什么在执行时没有输出
追答
直接退出程序了。
要不你把这句话加到finally里吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询