我有一个线程,它在其 run
方法的开头打开一个套接字,然后进入监听循环。我希望 run
方法抛出 RuntimeException
,告诉我线程无法启动。
Java中有这样的异常类型吗?像ThreadStartFailedException
之类的东西?
注意:我不想在其构造函数中打开套接字,因为我需要该线程可重新启动,即当我对其调用 interrupt
时,它会优雅地关闭其套接字;如果在同一个实例上重新调用 run
,则会重新创建套接字,并且线程将像第一次一样运行。
最佳答案
是的,有一个 RuntimeException class 。但是从 run
方法抛出异常,如果您稍后需要在 run
方法及其相应的类上下文之外捕获它,则需要使用 Callable
而不是可运行
。
Is there such an exception type in Java? Something like ThreadStartFailedException?
不,默认情况下不存在此类异常。从文档中检查 RuntimeException 的子类。如果需要,您可以子类化 RuntimeException
。
class ThreadStartFailedException extends RuntimeException
{
public ThreadStartFailedException(String message) {
super(message);
}
}
关于线程启动失败的Java异常类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262858/