El hilo principal no puede coger hilos Abnormal Child

el Código

package com.dq;

public class ThreadTest implements Runnable
{
	@Override
	public void run() 
	{
		throw new RuntimeException();
	}
	
	public static void main(String[] args) 
	{
		ThreadTest task = new ThreadTest();
		Thread thread = new Thread(task);
		try 
		{
			thread.start();
		} 
		catch (Exception e) 
		{
			System.out.println("捕获到异常");
		}
	}
}

Aplicación de los resultados
Aquí Insertar imagen Descripción
puede ser visto y no se ha ejecutado el contenido del bloque catch, ejecute y no una excepción, naturalmente, no captura

mejorar

trampa de excepción personalizada, implementa la interfaz UncaughtExceptionHandler

class MyExceptionHandler implements UncaughtExceptionHandler
{
	@Override
	public void uncaughtException(Thread t, Throwable e) 
	{
		System.out.println("自定义异常处理器处理异常,线程名称" + t.getName() + " 异常:" + e);
	}
}

Situado en el hilo principal sobre el manejador de excepción personalizada

	public static void main(String[] args) 
	{
		Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler());
		ThreadTest task = new ThreadTest();
		Thread thread = new Thread(task);
		thread.start();
	}

Realizada como consecuencia de la mejora
Aquí Insertar imagen Descripción
de modo que el hilo principal excepción no se detecta a un manejador de excepción personalizada

Publicados 236 artículos originales · ganado elogios 10 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/gunsmoke/article/details/104598311
Recomendado
Clasificación