Если произойдет любое исключение кроме WrongZipFileException выведи сообщение "Произошла ошибка. Проверьте введенные данные."
Я чего-то недопонимаю? Не выведется такое сообщение?
package com.javarush.task.task31.task3110;
import com.javarush.task.task31.task3110.command.ExitCommand;
import com.javarush.task.task31.task3110.exception.WrongZipFileException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Archiver {
public static void main (String[] args) throws IOException, Exception {
/*System.out.println("Пожалуйста, введите полное имя будущего архива, включающее и путь");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ZipFileManager zip = new ZipFileManager(Paths.get(reader.readLine()));
System.out.println("Пожалуйста, введите полное имя файла для сжатия, включающее и путь");
zip.createZip(Paths.get(reader.readLine()));
new ExitCommand().execute();*/
while (true) {
Operation operat = askOperation();
try {
if (operat == Operation.EXIT) break;
else CommandExecutor.execute(operat);
}
catch (WrongZipFileException we) {
ConsoleHelper.writeMessage( "Вы не выбрали файл архива или выбрали неверный файл.");
continue;
}
catch (Exception e) {
ConsoleHelper.writeMessage( "Произошла ошибка. Проверьте введенные данные.");
continue;
}
}
}
public static Operation askOperation() throws IOException {
ConsoleHelper.writeMessage("Выберите требуемую операцию:");
String option="";
for (Operation operation : Operation.values()) {
switch (operation) {
case CREATE: option = "упаковать файлы в архив"; break;
case ADD: option = "добавить файл в архив"; break;
case REMOVE: option = "удалить файл из архива"; break;
case EXTRACT: option = "распаковать архив"; break;
case CONTENT: option = "просмотреть содержимое архива"; break;
case EXIT: option = "выход"; break;
}
ConsoleHelper.writeMessage(operation.ordinal()+" - "+option);
}
return Operation.values()[ConsoleHelper.readInt()];
}
}