RuntimeException和Error的处理 1、一般情况下,我们只对"被检查型"异常在程序中进行抛出或者处理?2、但是,当我们写一个程序,当其发生"运行时异常"或者"系统级错误"的时候,我们怎样处理?3、JAVA在对上述问题处理的时候,一般是在控制台显示错误信息,但是我希望可以弹出一个消息框,告诉用户发生了什么,并且安全的退出应用程序.该怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、可以说是这样2、运行时异常可以不捕获,系统级错误不是异常更没法捕获3、你说的是C/S架构的软件吧,安全的退出应用程序;如果是B/S,在j2ee中,不符合你的要求时,ModelAndView mav;mav.setMessage("你想提示的消息");return; try{ ...}catch(Throwable e){ ...处理异常 System.exit(-1);} 运行时异常的原因通常是由于执行了错误的操作,使得程序异常终止,可以试试通过扩展RuntiomeException类来达到自己的目的. 如果不抛出RuntimeException,那么扩展RuntimeException类的有什么用呢?它会被自动执行?应该是在它被抛出的时候被执行吧?有看JAVACORE这本书,我看到里面有一个处理"NullPointerException"的例子,他好像是通过try{}catch(){}来处理的。那是不是说,运行时异常不需要捕获,但是是可以捕获,或者抛出,要不何必扩展RuntimeException? 直接用TRY{}CATCH{}FINALLY{}就行了不过你要知道会发生什么,那样才好向你的用户交待,不然就只能说出错了,到于出了什么错,不能给他们说.不过软件就是不能给他们说,只用于自己测试! 异常都可以通过try catch捕获不过系统级错误我们无能为力。想弹个框提示用户的话:javax.swing.jOptionPane.showMessageDialog 好像是这个方法 好长时间没写swing了 有点忘了。 自己写了个程序,捕捉了一下“内存泄漏”错误。感觉是可以通过,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("内存泄漏错误!"); } }} 最近做的一道小题,感觉有点费劲,大家可以试试 正则如何删除字串符前后多余的br 关于icon 大小的问题 谁能解释下这段代码 JAVA实现语音聊天 JScrollPane中用布局为空的JPanel,如何实现JScrollPane的自动滚动? 刚入门,急,寻求数据库开发方面的例子 RMI的实现?谢谢各位! 关于约瑟夫环的一个问题 windows下java桌面程序jtextfield和jtable中文蒙文都能正常显示,但是老挝文显示为方格乱码,请 帮忙 跪求大虾帮忙 java中的数组排序和C语言一样吗?
2、运行时异常可以不捕获,系统级错误不是异常更没法捕获
3、你说的是C/S架构的软件吧,安全的退出应用程序;
如果是B/S,在j2ee中,不符合你的要求时,ModelAndView mav;mav.setMessage("你想提示的消息");return;
try{
...
}catch(Throwable e){
...处理异常
System.exit(-1);
}
时候被执行吧?有看JAVACORE这本书,我看到里面有一个处理"NullPointerException"的例子,他好像是通过try{}catch(){}来处理的。
那是不是说,运行时异常不需要捕获,但是是可以捕获,或者抛出,要不何必扩展RuntimeException?
不过系统级错误我们无能为力。
想弹个框提示用户的话:javax.swing.jOptionPane.showMessageDialog
好像是这个方法 好长时间没写swing了 有点忘了。
@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("内存泄漏错误!");
} }}