Почему в данном примере можно не писать блоки catch и finally одновременно? ps: я понимаю, 1) что исключение пробрасывается дальше в сигнатуре
public static void main(String[] args) throws IOException
из за этого НАВЕРНОЕ можно обойтись без catch 2) Ресурс-файл закрывается тк это Try with resourses из за этого НАВЕРНОЕ не нужен finally Ключевое слово НАВЕРНОЕ, а почему насамом деле можно обойтись без этих блоков одновременно? К примеру в "try без ресурсов" даже если мы не кидаем исключение и не открываем ресурсы(то есть пустой try) нам надо добавить обязательно catch или finally
public static void main(String[] args) throws IOException {

     Scanner sc=new Scanner(System.in);
     String name;
     while (true){
         name=sc.nextLine();
         try(FileInputStream fi = new FileInputStream(name)){

         }
     }
 }