У меня есть следующий код:Две близких методы в примерочной с-ресурсах
try(Socket s1=new Socket(...); Socket s2=new Socket(...);)
{
some logic...
}
Как я понял, Java закрывает s2
первыми, а затем s1
. Что произойдет, если s2.close()
выдает исключение? Будет ли Java пытаться закрыть s1
после предыдущего отказа?
Да. try-with-resources гарантирует, что 'close' будет вызываться как' s2', так и 's1' (в этом порядке). –
Является ли это поведение документированным где-то? Потому что я не могу найти его здесь: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html – Tony