java 抛出指定异常信息_java-如何使用特定数据识别可抛出对象

免责声明

这是在评论中建议的,我认为将其添加为答案将是一个好主意,但请记住,这不是您应该这样做的方式,因此,请以此答案为例,说明如何不处理这种类型的问题.也可以随意投票.

您可以通过looking at its stack trace或至少在第一个堆栈跟踪元素中检查异常的来源.

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {

@Override

public void uncaughtException(Thread t, Throwable e) {

StackTraceElement[] stackTrace = e.getStackTrace();

if (e instanceof NullPointerException &&

stackTrace != null && stackTrace.length >= 0 &&

"Statistics.java".equals(stackTrace[0].getFileName()) &&

"hashString".equals(stackTrace[0].getMethodName()) &&

192 == stackTrace[0].getLineNumber()) {

// Handle your exception here.

}

}

});

您不应该这样做的原因:

>真的很丑

> hashString方法的任何更改将使此方法无用

>因为妈妈这么说

>统计信息类的任何更改都将使它无用

>在2或4的情况下,发现由该异常引起的错误可能真的很痛苦

>它不是可移植的(考虑将来更改库)

>这是不好的做法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值