黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設計技術
Java鎖的優化及注意事項
Java多線程集合
【Java多線程】單例模式與多線程

Java多線程捕獲異常處理

在線程的run方法中,如果有受檢異常必須進行捕獲處理,如果想要獲得run()方法中出現的運行時異常信息,可以通過回調UncaughtExceptionHandler接口獲得哪個線程出現了運行時異常,在Thread類中有關處理運行異常的方法有:

getDefaultUncaughtExceptionHandler() 獲得全局的(默認的)UncaughtExceptionHandler。

getUncaughtExceptionHandler() 獲得當前線程的UncaughtExceptionHandler。

setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 設置全局的UncaughtExceptionHandler。

setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 設置當前線程的UncaughtExceptionHandler。

當線程運行過程中出現異常,JVM會調用Thread類的dispatchUncaughtException(Throwable e)方法, 該方法會調用getUncaughtExceptionHandler().uncaughtException(this, e); 如果想要獲得線程中出現異常的信息,就需要設置線程的UncaughtExceptionHandler。

package com.wkcto.threadexception;

import java.io.FileInputStream;

/**
 * 演示設置線程的UnCaughtExceptionHandler回調接口
*/
public class Test01 {
    public static void main(String[] args) {
        //1)設置線程全局的回調接口
        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {
                //t參數接收發生異常的線程, e就是該線程中的異常
                System.out.println(t.getName() + "線程產生了異常: " + e.getMessage());
            }
        });

        Thread t1 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "開始運行");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    //線程中的受檢異常必須捕獲處理
                    e.printStackTrace();
                }
                System.out.println(12 / 0 );    //會產生算術異常

            }
        });
        t1.start();

        new Thread(new Runnable() {
            @Override
            public void run() {
                String txt = null;
                System.out.println( txt.length());  //會產生空指針異常
            }
        }).start();

        /*
            在實際開發中,這種設計異常處理的方式還是比較常用的,尤其是異常執行的方法
            如果線程產生了異常, JVM會調用dispatchUncaughtException()方法,在該方法中調用了getUncaughtExceptionHandler().uncaughtException(this, e); 如果當前線程設置了UncaughtExceptionHandler回調接口就直接調用它自己的uncaughtException方法, 如果沒有設置則調用當前線程所在線程組UncaughtExceptionHandler回調接口的uncaughtException方法,如果線程組也沒有設置回調接口,則直接把異常的棧信息定向到System.err中
         */
    }
}
全部教程
主站蜘蛛池模板: 免费看黄色片的网站 | 成人污污视频 | 中国黄色a | 中文字幕欧美日韩高清 | 最色网站入口 | 全部免费的毛片视频观看 | 中国黄色毛片视频 | 一级做a爰片性色毛片小说 一级做a爰片性色毛片武则天五则 | 97国产在线视频公开免费 | 在线观看黄色片 | 古代级a毛片在线 | 毛片在线看网站 | 中文字幕第5页 | 欧美日韩视频一区三区二区 | 日日插人人插天天插 | 亚洲欧美日韩在线中文一 | 五月开心综合 | h片免费观看 | 天天干天天天天 | 涩涩片影院 | 亚洲一二四区性毛片1在线 亚洲一二三在线 | 国产视频久久 | 男女午夜爽爽 | 日韩亚洲制服丝袜中文字幕 | 曰韩免费视频 | 欧美大片国产在线永久播放 | 欧美一区二区三区香蕉视 | 日日狠狠久久偷偷四色综合免费 | 2020久久精品亚洲热综合一本 | 黄色网址在线免费观看 | 亚洲欧美日本韩国综合在线观看 | 奇米影视777四色米奇影院 | 欧美日韩精品福利在线观看 | 国产欧美日韩不卡一区二区三区 | 高清不卡毛片免费观看 | 一级毛片儿 | 在线播放另类 | 久久精品国产日本波多麻结衣 | 亚洲欧美日韩久久精品第一区 | 欧美黄色一级在线 | 免费成人视屏 |