1        ScheduledExecutorService service = Executors.newScheduledThreadPool(10);
 2         // 从现在开始delay毫秒之后,每隔一天执行一次,转换为毫秒
 3         // service.scheduleAtFixedRate(this, delay, period, TimeUnit.MILLISECONDS);
 4         /**获得线程中抛出的异常,eg Integer.parseInt("AAA");,缺少jar包等*/
 5         ScheduledFuture<?> future = service.scheduleAtFixedRate(this, delay, period, TimeUnit.MILLISECONDS);
 6         try {
 7             future.get();
 8         } catch (InterruptedException e) {
 9             Throwable cause = e.getCause();
10             //发送邮件
11             MailUtils.send("Write Data To HBase Faild", cause.getMessage());
12         } catch (ExecutionException e) {
13             Throwable cause = e.getCause();
14             //发送邮件
15             MailUtils.send("Write Data To HBase Faild", cause.getMessage());
16         }

http://stackoverflow.com/questions/2459194/no-output-from-exception

http://stackoverflow.com/questions/18217467/scheduledexecutorservice-not-printing-the-exception-stacktrace-when-the-run-meth

exception example:

 1 public class Playground {
 2
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7         startThread();
 8     }
 9
10     private static void startThread() {
11         ScheduledExecutorService timer = Executors
12                 .newSingleThreadScheduledExecutor();
13         Runnable r = new Runnable() {
14             int dummyInt = 0;
15             boolean dummyBoolean = false;
16
17             @Override
18             public void run() {
19                 dummyInt = Integer.parseInt("AAAA");
20
21                 if (dummyBoolean) {
22                     dummyBoolean= false;
23                 } else {
24                     dummyBoolean= true;
25                 }
26
27             }
28
29         };
30
31         timer.scheduleAtFixedRate(r, 0, 100, TimeUnit.MILLISECONDS);
32
33     }

How can I get it to?

I would expect to see this:

 1 java.lang.NumberFormatException: For input string: "AAAA"
 2     at java.lang.NumberFormatException.forInputString(Unknown Source)
 3     at java.lang.Integer.parseInt(Unknown Source)
 4     at java.lang.Integer.parseInt(Unknown Source)
 5     at Playground$1.run(Playground.java:25)
 6     at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
 7     at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
 8     at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
 9     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
10     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
11     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
12     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
13     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
14     at java.lang.Thread.run(Unknown Source)

The executor probably sets its own uncaught exception handler on the thread, so the stack trace won't be printed to the console. If an exception is thrown in the Runnable you can get it from theScheduledFuture object returned by the scheduleAtFixedRate method:

1 ScheduledFuture<?> future = timer.scheduleAtFixedRate(r, 0, 100, TimeUnit.MILLISECONDS);
2 try {
3     future.get();
4 } catch (ExecutionException e) {
5     Throwable cause = e.getCause();
6     cause.printStackTrace();
7 }

获取线程中抛出的异常信息相关推荐

  1. ASP.NET 如何catch存储过程中抛出的异常信息

    修改资料库的时候,我们要做一些判定,比如输入的资料不能为空.资料已存在或与其它表的资料关联不能删除等等. 输入的资料不能为空,这些都直接交由逻辑层去处理,而资料已存在呀.关联呀等等,这部分推荐让数据层 ...

  2. 第8集析构函数中抛出的异常

    前两篇文章讨论了对象在构造过程中(构造函数)和运行过程中(成员函数)出现异常时的处理情况,本文将讨论最后一种情况,当异常发生在对象的析构销毁过程中时,又会有什么不同呢?主人公阿愚在此可以非常有把握地告 ...

  3. 第7集 构造函数中抛出的异常

    上一篇文章简单讨论了一下对象的成员函数抛出异常时的处理情况.本文中将继续讨论当在构造函数中抛出异常时,程序的执行情况又如何?这有点复杂呀!而且主人公阿愚还觉得这蛮有点意思! 构造函数中抛出的异常 1. ...

  4. 想抛就抛:Application_Error中统一处理ajax请求执行中抛出的异常

    想抛就抛:Application_Error中统一处理ajax请求执行中抛出的异常 参考文章: (1)想抛就抛:Application_Error中统一处理ajax请求执行中抛出的异常 (2)http ...

  5. java 抛出指定异常信息_java 抛出异常处理的方法

    java 抛出异常处理的方法 为了避免调用的人不知道有异常,才抛出异常的,所以是谁掉用的久在哪里处理.说的对吗 对. 1.throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以 ...

  6. 如何Mysql触发器中抛出一个异常

    当想Mysql出发其中插入或者更新一条数据的时候,我希望使用触发器进行一些检查工作.虽然这些工作可以使用PHP来完成,但考虑到公司做PHP的小伙子是个新手,为了简化PHP端的业务,使用触发器来实现可靠 ...

  7. 加了try的情况下线程中抛出未捕获的异常

    一.问题描述 项目中线程中明明加了try catch 捕获异常,但是一启动就报未捕获的异常导致整个程序崩溃. 下面是windows中的错误日志. Application: 岗亭收费.exe Frame ...

  8. java异常怎么输出到页面_怎么把抛出的异常信息输出到SWING 界面上

    展开全部 首先抛出异常e68a84e8a2ad3231313335323631343130323136353331333337623366,然后捕获异常,最后把异常信息输出到SWING界面组件 代码参 ...

  9. NET问答: 如何将 ASP.NET Core WebAPI 中抛出的异常封装成对象?

    咨询区 rianjs: 在 ASP.NET Core WebAPI 中,我的 Controller 代码如下: [Route("create-license/{licenseKey}&quo ...

最新文章

  1. tkinter实现进度条
  2. 部署Chromedriver
  3. shell清除日志小脚本
  4. uni-app 使用 web-view 页面之间互相跳转、通信
  5. 在centos上搭建svn服务器
  6. java docx4j 合并word_利用docx4j来处理word的合并与拆分
  7. Java机器学习,第1部分
  8. 服务器选购seo优化规则,如何选择有利于SEO优化的空间服务器
  9. mysql索引级别快慢_面试小点-MySQL 的两种索引方法如何提高查询速度
  10. 架构蓝图--软件架构 4+1 视图模型
  11. python实现下载韩寒博客中的所有文章,在本地存储
  12. Nescafé2 月之谜 题解
  13. Java 编程练习之:101-200之间的素数
  14. 空气质量指数,主要污染物PM10、PM2.5、CO、NO2、SO2详解
  15. mysql 1236错误_MySQL主从失败 错误Got fatal error 1236解决方法
  16. 人家出轨你为什么那么嗨
  17. 拼多多api接口数据说明
  18. 前端js通过图片路径,展示图片
  19. Kotlin中单利常用的五种写法
  20. windows10开启/关闭超级管理员账号登陆

热门文章

  1. 关于stm32f407wifi模块的设置_料粉定量称重模块,罐子称重传感器
  2. Java项目:嘟嘟网上商城系统(java+jdbc+jsp+mysql+ajax)
  3. 汉诺塔怎么加计数次数c语言,C语言计算汉诺塔最小移动步数 (二)
  4. linux安装python2和3版本_Windows下安装Python2和Python3双版本
  5. mysql数据去重语句_数据库 mysql 语句
  6. React子组件给父组件传值, 父组件引用子组件并给子组件传值
  7. iOS逆向(4)-代码注入,非越狱窃取微信密码
  8. CentOS 7 安装 GlusterFS
  9. ZKFC服务异常:Parent znode does not exist.
  10. 近期Freecodecamp问题总结