java多线程异常捕获
java多线程中出现了异常,如何捕获。利用UncaughtExceptionHandler这个接口就可以了。
代码如下:
package com.ming.thread.six.threadcreateException; public class MyThread extends Thread{ public void run(){
String uname=null;
System.out.println(uname.hashCode());
}
}
package com.ming.thread.six.threadcreateException; import java.lang.Thread.UncaughtExceptionHandler; public class Run {
public static void main(String[] args) {
MyThread t=new MyThread();
t.setName("mythread");
t.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {//这个就是异常处理的实现,一旦出现异常就执行里面的方法哦
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println("c出现了线程异常哦"); }
});
t.start(); }
}
下面这个例子是在一个线程组中实现异常捕捉:
package com.ming.thread.six.threadgroupException; public class MyThreadGroup extends ThreadGroup { public MyThreadGroup(String name){
super(name);
} @Override
public void uncaughtException(Thread t, Throwable e) {
super.uncaughtException(t, e);
this.interrupt();//打断
} }
package com.ming.thread.six.threadgroupException; public class MyThread extends Thread{ private String num; public MyThread(ThreadGroup group,String name,String num){
super(group,name);
this.num=num;
} public void run(){
int numInt=Integer.parseInt(num);
while(this.isInterrupted()==false){
System.out.println("死循环中:"+Thread.currentThread().getName());
}
}
}
package com.ming.thread.six.threadgroupException; public class Test { public static void main(String[] args) {
MyThreadGroup group=new MyThreadGroup("我的线程组哦");
MyThread [] myThreads=new MyThread[10];
for(int i=0;i<myThreads.length;i++){
myThreads[i]=new MyThread(group,"线程"+(i+1),"1");//正常线程
myThreads[i].start();
}
MyThread newThread=new MyThread(group,"报错线程","sa");
newThread.start();
}
}
so,I forget it。。。
java多线程异常捕获的更多相关文章
- java代码异常捕获throws抛出异常
总结:Throwable 是所以异常的父类.error和Exception是继承它的类 Exception: 这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环 ...
- java ThreadPoolExecutor 异常捕获
一,创建一个线程池 其中: public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) 饱和策略执行时的具体逻辑. p ...
- java controller 异常捕获
package com.aiyusheng.framework.exception; import lombok.Data; /** * base异常类 * @author :cza * @date ...
- java 异常捕获小记
java 中异常捕获常用的为: try{ //业务代码 }catch(Exception e){ //异常捕获 }finally{ // 不管有无异常, 最后都会执行到这里 } 在方法体内如果想要把异 ...
- [javaSE] 异常捕获
异常:程序在运行时出现的不正常现象 Throwable |——Error |——Exception 严重级别:Error类和Exception类 异常的处理:try{}catch{}finally{} ...
- 关于java多线程中异常捕获的理解
在java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked e ...
- JAVA 线程中的异常捕获
在java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked e ...
- 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)
在Thread中有异常处理器相关的方法 在ThreadGroup中也有相关的异常处理方法 示例 未检查异常 对于未检查异常,将会直接宕掉,主线程则继续运行,程序会继续运行 在主线程中能不能捕获呢? 我 ...
- JAVA并发,线程异常捕获
由于线程的特性,当我们启动了线程是没有办法用try catch捕获异常的,如下例: package com.xt.thinks21_2; import java.util.concurrent.Exe ...
随机推荐
- c# 匿名函数和lamda表达式语法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- adobe flash player 过期问题
在百度搜索 " adobe flash player debugger",如图打开官网 https://www.adobe.com/support/flashplayer/debu ...
- jQuery的选择器+实例
返回目录 jQuery的冒号选择器 表单 :input :text :password :radio :checkbox :submit :image :reset :button :file :h ...
- 写RestApi需要注意些什么?
PS1="\n[\e[32;1m]([\e[37;1m]\u[\e[32;1m])-([\e[37;1m]jobs:\j[\e[32;1m])-([\e[37;1m]\w[\e[32;1m] ...
- P2105 K皇后
题意:$n*m$棋盘放置k个皇后,问几个格子不被攻击 1≤n,m≤20000,1≤k≤500 开set判重暴力$O(n*k)$然而,setMLE了QAQ 正解确实是$O(n*k)$的 以hang[i] ...
- 公有云Docker镜像P2P加速之路:安全篇
一.问题 在使用Docker运行容器化应用时,宿主机通常先要从Registry服务(如Docker Hub)下载相应的镜像(image).这种镜像机制在开发环境中使用还是很有效的,团队成员之间可以很方 ...
- MySQL数据查询结果导出生成文件
select url from news where url like "%美女%" into outfile "/导出的文件路径" : 在这里有个坑,对于 ...
- freemarker常用标签解释遍历
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- springboot整合fastdfs
首先pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- 关于dubbo服务的xml配置文件报错的问题——The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'
在配置dubbo服务的过程中,经常会遇到虽然程序能够跑起来,但是配置文件一堆红叉,虽然不影响功能,但是确实很让人恶心. 报错信息如下: 解决方案: 下载一个dubbo.xsd文件(就在dubbo.ja ...