catch的错误会引起程序崩溃吗?

机器学习之禅 2014-06-11 10:04:15
最近我的程序总是崩溃,看了日志也没有什么错误,只有这个try块经常被catch,
请问已经catch的错误还是会引起程序崩溃吗?
那有什么办法来判断有时候这个baseElement.getText()是不存在的,怎么进行修改呢
String baseElementName = "#";
try {
baseElementName = baseElement.getText().trim();//trim()返回字符串的副本,忽略前导空白和尾部空白
} catch (Exception e) {
LOG.warn("cannot get name of current base element");
}
...全文
1809 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen870201 2014-06-12
  • 打赏
  • 举报
回复
这样算不上处理吧
霜之哀伤 2014-06-11
  • 打赏
  • 举报
回复
不知道你所谓的崩溃是个什么概念 如果是指虚拟机直接异常退出,这个跟你catch不catch是没关系 如果指程序没按预定的流程走,这个和你的代码有关,一般来说也不应该是catch引起的
S117 2014-06-11
  • 打赏
  • 举报
回复
额,怎么能这么处理异常呢,起码也该记录下异常堆栈信息呀
sca4441479 2014-06-11
  • 打赏
  • 举报
回复
不知道
if(baseElement.getText()!=null)
是不是楼主想要的非空判断呢
KevinYarm 2014-06-11
  • 打赏
  • 举报
回复
catch本身不会 不过 不建议直接catch exception~
maradona1984 2014-06-11
  • 打赏
  • 举报
回复
说不定那个异常是继承了Throwable,这个就比较蛋疼
Mr-稻帅 2014-06-11
  • 打赏
  • 举报
回复
引用 12 楼 taxuelingbing 的回复:
[quote=引用 8 楼 abc_key 的回复:] [quote=引用 7 楼 taxuelingbing 的回复:] [quote=引用 4 楼 longtian1213 的回复:] 额,怎么能这么处理异常呢,起码也该记录下异常堆栈信息呀
求指导[/quote]
		} catch (IOException e) {
			e.printStackTrace();
		}
[/quote] 异常栈 会溢出吗[/quote]e.printStackTrace(); 是打印出异常的值栈信息的。。一般捕获到了异常,程序就走异常处理的代码了,不会接着往下往下走了,你去回顾一下java的异常处理机制吧~
机器学习之禅 2014-06-11
  • 打赏
  • 举报
回复
引用 8 楼 abc_key 的回复:
[quote=引用 7 楼 taxuelingbing 的回复:] [quote=引用 4 楼 longtian1213 的回复:] 额,怎么能这么处理异常呢,起码也该记录下异常堆栈信息呀
求指导[/quote]
		} catch (IOException e) {
			e.printStackTrace();
		}
[/quote] 异常栈 会溢出吗
机器学习之禅 2014-06-11
  • 打赏
  • 举报
回复
引用 5 楼 dollyn 的回复:
不知道你所谓的崩溃是个什么概念 如果是指虚拟机直接异常退出,这个跟你catch不catch是没关系 如果指程序没按预定的流程走,这个和你的代码有关,一般来说也不应该是catch引起的
现在问题在于对象baseElement 是存在的,但是对象baseElement.getText()时不一定存在的。 我应该怎么消除这个错误呢?
机器学习之禅 2014-06-11
  • 打赏
  • 举报
回复
引用 3 楼 sca4441479 的回复:
不知道
if(baseElement.getText()!=null)
是不是楼主想要的非空判断呢
我是想做非空判断,但是这个句子判定不了。
小绵羊 2014-06-11
  • 打赏
  • 举报
回复
引用 8 楼 abc_key 的回复:
[quote=引用 7 楼 taxuelingbing 的回复:] [quote=引用 4 楼 longtian1213 的回复:] 额,怎么能这么处理异常呢,起码也该记录下异常堆栈信息呀
求指导[/quote]
		} catch (IOException e) {
			e.printStackTrace();
		}
[/quote]

LOG.warn("cannot get name of current base element",e);
xlight2023 2014-06-11
  • 打赏
  • 举报
回复
引用 7 楼 taxuelingbing 的回复:
[quote=引用 4 楼 longtian1213 的回复:] 额,怎么能这么处理异常呢,起码也该记录下异常堆栈信息呀
求指导[/quote]
		} catch (IOException e) {
			e.printStackTrace();
		}
机器学习之禅 2014-06-11
  • 打赏
  • 举报
回复
引用 4 楼 longtian1213 的回复:
额,怎么能这么处理异常呢,起码也该记录下异常堆栈信息呀
求指导
机器学习之禅 2014-06-11
  • 打赏
  • 举报
回复
引用 5 楼 dollyn 的回复:
不知道你所谓的崩溃是个什么概念 如果是指虚拟机直接异常退出,这个跟你catch不catch是没关系 如果指程序没按预定的流程走,这个和你的代码有关,一般来说也不应该是catch引起的
、 额 因为我现在还没有找到问题所在。。。 我的程序是由一个调度线程去目录中取文件,获取文件内容进行分析。 但是在某些时刻,这个调度线程还在循环的查询目录,但是不再进行取文件操作了。。。 这个时刻大多数时间是在凌晨0点-1点的时间内。

62,621

社区成员

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

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