从品牌网站建设到网络营销策划,从策略到执行的一站式服务
详解Java中多线程异常捕获Runnable的实现
十余年的大洼网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整大洼建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“大洼网站设计”,“大洼网站推广”以来,每个客户项目都认真落实执行。1、背景:
Java 多线程异常不向主线程抛,自己处理,外部捕获不了异常。所以要实现主线程对子线程异常的捕获。
2、工具:
实现Runnable接口的LayerInitTask类,ThreadException类,线程安全的Vector
3、思路:
向LayerInitTask中传入Vector,记录异常情况,外部遍历,判断,抛出异常。
4、代码:
package step5.exception; import java.util.Vector; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import com.autonavi.pds.core.incre.impl.LayerInitTask; public class ThreadException { public static void main(String[] args) { try { VectorerrRet = new Vector(); ExecutorService pool = Executors.newFixedThreadPool(6); for (int i = 0; i < 6; ++i) { pool.execute(new LayerInitTask(i, errRet)); } pool.shutdown(); pool.awaitTermination(1, TimeUnit.DAYS); if (errRet.size() > 0) { System.out.println("根据返回值捕获:exception"); throw new RuntimeException( "入库失败!"); } } catch (Exception e) { System.out.println("根据抛出异常捕获:exception"); throw new RuntimeException( "入库失败!"); } System.out.println("-----入库成功,发成功完成工作邮件--------"); } }
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图