java 怎样捕获异常后,程序不中止,继续执行,返回参数
答案:5 悬赏:80 手机版
解决时间 2021-04-05 18:09
- 提问者网友:你独家记忆
- 2021-04-04 18:10
java 怎样捕获异常后,程序不中止,继续执行,返回参数
最佳答案
- 五星知识达人网友:掌灯师
- 2021-04-04 19:01
你把 temp定义到try之外。然后在遇到异常后,给temp赋值,不要在catch中写什么return就行。
例如:
……………………
Document objDOM = DocumentHelper.createDocument();
String temp ="";
try{
……
}catch (DocumentException e)
{
temp = "error";
}
Node node = objDOM.selectSingleNode("//"+temp);
……………………
例如:
……………………
Document objDOM = DocumentHelper.createDocument();
String temp ="";
try{
……
}catch (DocumentException e)
{
temp = "error";
}
Node node = objDOM.selectSingleNode("//"+temp);
……………………
全部回答
- 1楼网友:行路难
- 2021-04-04 22:12
按照道理来说你用了try,catch,程序是不会终止的啊,如果你运行的时候仍然终止,那一定是你的代码有问题!
- 2楼网友:低音帝王
- 2021-04-04 21:33
你说的是继续执行吗?
用finally啊..
try{
}catch{
}finally{
//这里写入的语句不管是否捕获异常都会被执行
}
用finally啊..
try{
}catch{
}finally{
//这里写入的语句不管是否捕获异常都会被执行
}
- 3楼网友:玩家
- 2021-04-04 20:55
捕获的范围进行一下调整,catch (DocumentException e)改成catch(Exception e)试试
- 4楼网友:一秋
- 2021-04-04 20:11
什么意思,java的异常设计结构是不可恢复的,即出现异常表明程序不能继续进行catch如果捕获了,程序就不会进行了。不但是java,多数语言的异常模型都是不可恢复的。包括C。
楼上说可以,难道还有别的方法?
我想了下,如果要实现,多线程可能可以解决,你可以设置一个全局变量static的变量,这样一个线程死亡之前给把参数保留在这个类里面。
楼上说:捕获的范围进行一下调整,catch (DocumentException e)改成catch(Exception e)试试 .是肯定不行的,因为Exception 比DocumentException 要大是它的父类。
楼上说可以,难道还有别的方法?
我想了下,如果要实现,多线程可能可以解决,你可以设置一个全局变量static的变量,这样一个线程死亡之前给把参数保留在这个类里面。
楼上说:捕获的范围进行一下调整,catch (DocumentException e)改成catch(Exception e)试试 .是肯定不行的,因为Exception 比DocumentException 要大是它的父类。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯