Maison >Java >javaDidacticiel >Implémentation Java de capture d'exceptions multithread Cas exécutable
Cet article présente principalement des informations pertinentes sur la mise en œuvre de la capture d'exceptions multithread Runnable en Java. J'espère que cet article pourra aider tout le monde à comprendre et à maîtriser ces connaissances.
Explication détaillée de l'implémentation de la capture d'exceptions multithread Runnable en Java
1. Contexte :2. Outils :
3. Entrez le vecteur, enregistrez les exceptions, parcourez en externe, jugez et lancez des exceptions.
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 { Vector<String> errRet = 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("-----入库成功,发成功完成工作邮件--------"); } }
5.
package step5.exception; import java.util.Vector; public class LayerInitTask implements Runnable { private int threadNum; private Vector<String> errRet; public LayerInitTask(int num, Vector<String> errRet) { this.threadNum = num; this.errRet = errRet; } @Override public void run() { try { if (this.threadNum == 3) { throw new RuntimeException( this.threadNum + ":数据格式有误."); } System.out.println(this.threadNum + ":刷表成功"); } catch (Exception e) { this.errRet.add("线程:" + this.threadNum + "运行异常!"); throw new RuntimeException( this.threadNum + ":刷表失败"); } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!