RuntimeException和Error的处理

hlayy_86 2007-12-06 08:54:23
1、一般情况下,我们只对"被检查型"异常在程序中进行抛出或者处理?

2、但是,当我们写一个程序,当其发生"运行时异常"或者"系统级错误"的时候,我们怎样处理?

3、JAVA在对上述问题处理的时候,一般是在控制台显示错误信息,但是我希望可以弹出一个消息

框,告诉用户发生了什么,并且安全的退出应用程序.该怎么做?
...全文
192 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hlayy_86 2007-12-08
  • 打赏
  • 举报
回复
自己写了个程序,捕捉了一下“内存泄漏”错误。感觉是可以通过,try{}catch{}来处理的。

那书本的意思应该是说“被检查型的异常”需要强制声明,而其他异常不强制处理,可以又JAVA虚拟机来处理,也可以自己处理吧?

通过try{}catch{}来处理异常过多的话,似乎会影响程序的运行速度。慎用!

谢谢大家的帮助,谢谢。另贴自己的测试代码如下:

/**
@author hlayy
@version 0.1
*/

import java.util.*;
public class MemoryNotEnough
{
public static void main(String [] args)
{


String str = new String("str");

String str2 = new String("Str2");

String str3 = new String("Str3");

try
{
for(int i = 0 ; i<100000;i++)
{
str = str + str2;
str2 = str2 + str;
str3 = str3 + str2;
}
}

catch(OutOfMemoryError o)
{
System.out.println("内存泄漏错误!");
}



}

}


fkestrel 2007-12-07
  • 打赏
  • 举报
回复
运行时异常的原因通常是由于执行了错误的操作,使得程序异常终止,可以试试通过扩展RuntiomeException类来达到自己的目的.
joejoe1991 2007-12-07
  • 打赏
  • 举报
回复
异常都可以通过try catch捕获
不过系统级错误我们无能为力。
想弹个框提示用户的话:javax.swing.jOptionPane.showMessageDialog
好像是这个方法 好长时间没写swing了 有点忘了。
fkestrel 2007-12-07
  • 打赏
  • 举报
回复
直接用TRY{}CATCH{}FINALLY{}就行了不过你要知道会发生什么,那样才好向你的用户交待,不然就只能说出错了,到于出了什么错,不能给他们说.不过软件就是不能给他们说,只用于自己测试!
mengcu 2007-12-07
  • 打赏
  • 举报
回复
谢谢分享
hlayy_86 2007-12-07
  • 打赏
  • 举报
回复
如果不抛出RuntimeException,那么扩展RuntimeException类的有什么用呢?它会被自动执行?应该是在它被抛出的
时候被执行吧?

有看JAVACORE这本书,我看到里面有一个处理"NullPointerException"的例子,他好像是通过try{}catch(){}来处理的。
那是不是说,运行时异常不需要捕获,但是是可以捕获,或者抛出,要不何必扩展RuntimeException?



jy02209334 2007-12-06
  • 打赏
  • 举报
回复

try{
...
}catch(Throwable e){
...处理异常
System.exit(-1);
}
richard_2010 2007-12-06
  • 打赏
  • 举报
回复
1、可以说是这样
2、运行时异常可以不捕获,系统级错误不是异常更没法捕获
3、你说的是C/S架构的软件吧,安全的退出应用程序;
如果是B/S,在j2ee中,不符合你的要求时,ModelAndView mav;mav.setMessage("你想提示的消息");return;

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧