失败的线程启动的Java异常类

时间:2013-11-28 09:57:19

标签: java multithreading sockets

我有一个线程在其run方法的开头打开一个套接字,之后它进入一个监听循环。我希望run方法抛出RuntimeException,告诉我线程无法启动。

Java中是否存在类型这样的异常?像ThreadStartFailedException

这样的东西

注意:我不想在其构造函数中打开套接字,因为我需要这个线程可以重启,即当我在其上调用interrupt时,它会正常关闭它的套接字;如果在同一个实例上重新调用run,则会重新创建套接字并且线程正在运行,就像它是第一次一样。

1 个答案:

答案 0 :(得分:1)

是的,有一个RuntimeException class。但是从run方法抛出异常,如果您需要稍后在run方法之外捕获它并且它是相应的类上下文,则需要使用Callable而不是Runnable

  

Java中是否存在这样的异常类型?就像是   ThreadStartFailedException?

不,默认情况下不存在此类异常。从文档中检查RuntimeException的子类。如果需要,您可以继承RuntimeException

class ThreadStartFailedException extends RuntimeException
{

    public ThreadStartFailedException(String message) {
        super(message);
    }

}