我有一个为以下代码WatchService
抛出一个:ClosedWatchServiceException
final WatchService watchService = FileSystems.getDefault().newWatchService();
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
watchService.close();
} catch (IOException e) {
e.printStackTrace();
}
}
});
WatchKey key = null;
while (true) {
key = watchService.take(); //throws ClosedWatchServiceException
//execution
}
如何在不出现异常的情况下安全地关闭服务?或者我应该忽略关闭,因为在终止应用程序时无论如何都会杀死任何线程?