社区
Java SE
帖子详情
高分请教异常机制。
Joeblackyang
2002-04-19 04:00:58
系统中经常由于程序运行异常而终止,页面出现error 500, nullPointerException, 等等各种类型的错误信息,能不能有一种好的异常机制,可以比较准确地指出错误出现在何处(前台?后台?哪个类?哪个方法?),或者尽可能多地提供一些关键提示信息。
不要告诉我用try-catch-exception, 我说的是整个应用程序的异常机制。
好的建议我会多给些分,谢谢!
...全文
24
12
打赏
收藏
高分请教异常机制。
系统中经常由于程序运行异常而终止,页面出现error 500, nullPointerException, 等等各种类型的错误信息,能不能有一种好的异常机制,可以比较准确地指出错误出现在何处(前台?后台?哪个类?哪个方法?),或者尽可能多地提供一些关键提示信息。 不要告诉我用try-catch-exception, 我说的是整个应用程序的异常机制。 好的建议我会多给些分,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
red-fly
2002-04-20
打赏
举报
回复
如果是在一个项目中,那么还得自己去catch异常,当catch到了的时候,就根据这种错误的类型把页面转到处理相应错误的jsp页面去
tomxutomxu
2002-04-19
打赏
举报
回复
catch (Exceptio e){
response.sendRedirect("error?errid=theid")
}
horseliu
2002-04-19
打赏
举报
回复
Java中的异常机制是按照调用树向上传递的。例如下面这个方法定义:
pulic void doGet(HttpServletResquest req,HttpServletReponse resp)
throws ServletException,IOException{
...........
}
如果该方法中的ServletException或IOException没有被catch的话,该异常
就回传递到调用doGet()方法的代码,如果还没有被catch,则继续向上传递。
异常的传递路径回保存在一个Stack中,当catch到一个异常时可以通过
xxxException.printStackTrace(System.out)获得该异常的精确信息。一般
的做法是:
try{
......
}catch(xxxException ex)
{System.out.println("Exception Message:"+ex.getMessage());
ex.printStackTrace();
//异常处理代码
}
finally{
//资源释放
}
kkhui
2002-04-19
打赏
举报
回复
也就是应该是
void method(int[] a) {
if(a == null) then...
else if(a.length == 0) ...
}
kkhui
2002-04-19
打赏
举报
回复
重要提示,所有可能发生NullPointException的地方再使用之前一定要判断是否为空,比如
void method(int[] a) {
if(a.length == 0) ...
}
在a.length之前一定要判断a是不是null,否则。。找死你
空指针异常是最难调试的东西。
所有东西都要确保非空之后才能使用,这是一个原则
Joeblackyang
2002-04-19
打赏
举报
回复
up
Joeblackyang
2002-04-19
打赏
举报
回复
我觉得我没有表达清楚,我是说相当于对整个网站设计一个异常机制,而不是对某个java程序,比如对所有的error500,nullPointerException等类型页面都要避免出现,而代之以error.jsp等描述错误的页面。我现在就是不知道如何准确地捕捉各种类型的错误。不知道我说清楚没有?
dragon_lxl
2002-04-19
打赏
举报
回复
如果你懒得加提示,那就多设断点进行跟踪吧!
dragon_lxl
2002-04-19
打赏
举报
回复
如果懒 的加提示,你就多设断点进行跟踪 吧!
GJA106
2002-04-19
打赏
举报
回复
同意楼上的,如果想知道异常具体中哪儿只能我们自己来添加提示了。
我们并不能保证每个类出现的异常不一样。
red-fly
2002-04-19
打赏
举报
回复
当然还得用try-catch-exception,不过,如果要想知道错误的具体地方和类型等等信息,需要多用try-catch-exception。只是把所有可能错误的地方都捕捉异常,每个地方都要写上自己的错误说明,这样,只要捕捉到这些说明,就会知道程序在错在什么地方。
当然,需要在编程的时候,把各个异常和各类异常分析的清楚点,并尽量捕捉所有的异常
alphazhao
2002-04-19
打赏
举报
回复
要分得这么仔细,我向来是在catch异常的时候,添加当前属性并入异常信息。
那么显示异常的时候,我就可以马上知道异常出在什么地方。
按理说系统不会自动判断异常在前台还是后台,还是那个累或者方法,它只会告诉你异常是哪种形式。
所以要详细捕捉异常,我认为最好是捕捉异常时添加当前某些特定属性,比如类名,方法名等
基础
各位兄弟,在SDK编程中如果实现窗口分割呢?请问怎么得到一个函数的执行时间,单位毫秒!如何调试asp组件呀。用vc++调试编制的组件怎样画一个箭头?
高分
请教
如何限制程序运行的方法?求助:通过编程DirectX抓屏------>masterz:再麻烦你一下,谢谢熟悉RichEdit的朋友过来看一下,RichEdit的几个问题.如何对 I/O 端口进行操作?有了该问题就有了思考(100分 献礼!)如何
明尼苏达多相人格测验 (Minnesota Multiphasic Personality Inventory,MMPI)全面详细解释
高分
者表现为善于交际、外露、冲动、精力过于充沛、乐观、不受约束的道德观念、轻浮、暴饮、夸张、易怒、过于乐观及不现实的计划。分数升高反映有抑郁情绪,缺乏自尊心和感觉不适,这是临床病人最常见的
高分
量表之一,
高分
者表现为易怒、胆小、依赖、悲观、烦恼、易激动、懒散、过度控制及自罪,
高分
反映有很不舒适的感觉,需要改变或减轻症状。
高分
者表现为紧张、焦虑、多思、心神不定、强迫、恐怖、刻板、他们常有自责、自罪、和自感能力下降及精力不足,量表峰形升高的求诊者表现为过于理智、多思,并不能接受治疗中的心理解释。
关于西电计科本科学习的一些经验分享与资料汇总
关于西电计科本科学习的一些经验分享与资料汇总
CSDN回帖得分大全(近两年)
√ vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC 基础类] √ 为什么我创建登陆框之后,然后获取登陆框的数据时候总是出现非法操作! [VC/MFC 界面] √ CFileFind::FindFile 支持通配符么? [VC/MFC 基础类] √ vc++ 浮动窗口联动的实现 [VC/MFC 界面] ...
明翰英语教学系列之PTE与多邻国篇V1.1
文章目录前言听力听音辩词(出现6-7次)听写句子(出现6-7次)阅读单词分辨(出现6-7次)`完形填空`口语看图说词(共出现12张,每次6张,分2次)动物鸟昆虫水果植物/蔬菜职业乐器生活用品衣物饮食朗读句子(出现6次)看问题演讲(出现1次)听问题演讲(出现2次)看图演讲(出现1次)口语二选一(出现1次)写作看图描述(出现3次)小作文观点题写作二选一(出现1次) 前言 多邻国跟雅思有很大的区别,多邻国主要注重在单词方面, 单词背的多就越能拿
高分
,考试期间有大量的单个单词的考察, 考察单词的拼写、发音等等。
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章