Try-with-resources: Czy muszę rzucać lub łapać wyjątki metody close ()? [duplikować]
To pytanie ma już tutaj odpowiedź:
Zamknij zasoby cicho, korzystając z zasobów próbnych 3 odpowiedziProszę poprawić mnie, jeśli jest to błędne: w instrukcji try-with-resources Java 7 wyjątki zgłaszane przez zasóbclose()
Metoda musi być zadeklarowana jako rzucona przez moją metodę lub muszę zawinąć całą próbę w innątry
który łapie wszelkie wyjątkiclose()
.
Jeśli tak, muszę się zastanowić, czy skorzystam z tego. Z pewnością nie chcęthrow
wyjątki rzucone przezclose()
, dzwoniący nie będzie wiedział, co z tym zrobić. I atry
owijanie innegotry
tylko do obsługiclose()
dla mnie nie wyglądałby zbyt elegancko.
EDYTOWAĆ: Myślę, że przypadkowo zadałem dwa pytania, z których jedno było duplikatem.
Pytanie 1. Czy muszę zadeklarować, że moja metoda zgłasza wyjątek odclose()
metoda lub owinąć próbne zasoby w innej próbie? (Brak odpowiedzi w proponowanym duplikacie).
Pytanie 2. Czy istnieje sposób na ciche zamknięcie zasobu? (Oczywiście jest to duplikat, więc odbieram to zdanie z pytania. Mam nadzieję, że to sprawia, że pytanie jest satysfakcjonujące.)