Java中关于无法预料的例外的处理(难题,急.....)

lianyunzxp 2003-10-15 11:19:57
Java中关于无法预料的例外的处理
当发生无法预料的例外,只要能实现以下二个功能就行。
1. 通知用户无法预料的例外的发生。
=〉因为有预想外例外发生,通知用户停止GUI操作。

2. 显示出例外的详细信息(Exception.printStackTrace())。
=〉这些信息将被用于开发者的代码错误跟踪分析。

现在我准备这样实现,如下:
Class RDBMain extend JFrame{
public static void main(String[] args){
try{
jbinit();
method1();
.....
}catch(Exception ){
ShowException("未知错误发生.");
}
//但是如果想捕获这样的Exception,必须在jbinit()和method1方法中
//抛掷异常,否则就不会在main方法中捕获到,而被控制台捕获了.如下定义:
}
public void jbinit() throw Exception{
method2();
this.addWindowsListener(new WindowAdapter(){
public void window_closed(WindowEvent e){
try{
window_close();
}catch(Exception e){
ShowException("未知错误发生.");
}
}
})
}
public void mehtod1() throw Exception{

}
public void mehtod2() throw Exception{

}
public void window_close() throw Exception{

}

}

其实并不是的简单的在main方法中添加try-catch语句就可以了,
在各个事件的响应中都要添加相应的try-catch语句,比如mouse_click,
window_closed,focus_gain等事件中,因为这些都是在用户做一些动作的时候才
会触发的.而且在各个方法中都必须抛掷异常(因为不可预测嘛,如同我上面的
例子).


感觉上面这样实现对不可预知的异常的捕获实在是太不好了,大家有什么好的办法吗?
...全文
82 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jSirius 2003-10-15
  • 打赏
  • 举报
回复
既然是无法预料的错误, 为什么不能在main中统一catch之, 处理之? 不解.
jscsqb 2003-10-15
  • 打赏
  • 举报
回复
关注,
帮你支持一下吧。
LoveRose 2003-10-15
  • 打赏
  • 举报
回复
自己写一个异常类继承Exception
在认为会抛错的地方throws
try
catch
lianyunzxp 2003-10-15
  • 打赏
  • 举报
回复
有人吗.................
老土豆T 2003-10-15
  • 打赏
  • 举报
回复
简单的讲,你先要自定义一些异常。。这些异常可能针对你某些工具类的。

try{

}catch(MyException e){

}catch(MyException2 e){

}catch(IOException e){

}

等等。
quanch 2003-10-15
  • 打赏
  • 举报
回复
还是自己写一个异常类吧!反正几乎每个函数都需要异常处理的,统一在这个异常类中处理就行了。
yao_xh 2003-10-15
  • 打赏
  • 举报
回复
异常是java语言很重要和先进的处理方式和方法。
通过这种机制,我们可以有效地增强代码的健壮程度。
异常控制的目的是使用尽可能精简的代码创建可靠的程序,同时排除程序里那些不能控制的错误。
所以说自己或内部的异常处理很重要。
flyshp 2003-10-15
  • 打赏
  • 举报
回复
不同类型的异常对应着不同的机制!!

对与那些无法预知的异常信息未何不在

try{}catch(Exception e){} 中模糊的抓住 .... 然后在catch 里分析你对应的异常代码的类型做处理呢???

如果真的实现了 是不是需要在所有的代码行(估计要用很多的try catch 对了^_^)都加try 呢??

加了那么多的try 对系统的整个效率会有什么影响呢??

关注 . . . . . .
honkyjiang 2003-10-15
  • 打赏
  • 举报
回复
不可预料的异常不可能统一在main方法里来catch的
如果在method1中发生而你又没有catch的话 比如在method1里面有一个
空指针异常你不在method1里面catch怎么可能在main方法来catch呢 !! 只有你在method1里面
将catch的异常放出来 才可以在main方法里处理!
danceflash 2003-10-15
  • 打赏
  • 举报
回复
不可预知错误一般应该是运行时的异常(RuntimeException)
这种异常是不需要在方法定义时声明
你只需要在 main() 方法中,catch住就可以了
tomcatjava 2003-10-15
  • 打赏
  • 举报
回复
关注!
xieweibbs 2003-10-15
  • 打赏
  • 举报
回复
建议你写个专门的异常类来处理,如SystemException。
public void mehtod1() throw SystemException{

}
public void mehtod2() throw SystemException{

}
public void window_close() throw SystemException{

}
在方法中捕获无法预料的例外,再扔出这个专门的异常类。
rubyz 2003-10-15
  • 打赏
  • 举报
回复
最好专门写个类来处理,
如果通过resources资源文件来管理提示信息就更便于维护了
rubyz 2003-10-15
  • 打赏
  • 举报
回复
不需要在事件的响应都加try catch
jbuilder提示要处理那些Exception
全部在方法中throws到上一级去
在main中统一处理异常
根据不同异常返回不同的用户提示信息
jigsaw 2003-10-15
  • 打赏
  • 举报
回复
看到jbinit()这个方法偶就犯晕。。。奉劝不要用jb写GUI。。。
logingx 2003-10-15
  • 打赏
  • 举报
回复
关注中...........................

62,612

社区成员

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

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