/
ilyassab
/
homework6
Обзор
Документация
Войти
/
ilyassab
/
homework6
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/sbp/exceptions/WorkWithExceptions.java
69 строк
3 KB
sabirzyanov.ilyas
homework
16 ноя 2025, 23:15
16 ноя 2025, 23:15
6241856
Код
Авторство
О чём код?
package sbp.exceptions; import java.util.Arrays; public class WorkWithExceptions { /** * В данном методе необходимо вызвать методы throwCheckedException и throwUncheckedException. * Все исключения должны быть обработаны * Необходимо вывести описание exception и stacktrace в консоль * В пойманное исключение необходимо упаковать в кастомное исключение и пробросить выше * Перед завершением работы метода обязательно необходимо вывести в консоль сообщение "Finish" * поработайте над подавленными исключениями */ public void exceptionProcessing() throws Exception, RuntimeException { Throwable firstException = null; try { throwUncheckedException(); } catch (RuntimeException e) { System.out.println("Unchecked " + e); System.out.println(Arrays.toString(Thread.currentThread().getStackTrace())); firstException = new RuntimeException(e); } try { throwCheckedException(); } catch (Exception e) { System.out.println("Checked " + e); System.out.println(Arrays.toString(Thread.currentThread().getStackTrace())); e.addSuppressed(firstException); throw e; } finally { System.out.println("Finish"); } } /** * (* - необязательно) Доп. задание. * Выписать в javadoc (здесь) - все варианты оптимизации и устранения недочётов метода * * @throws IllegalStateException * @throws Exception * @throws RuntimeException */ public void hardExceptionProcessing() throws IllegalStateException, Exception, RuntimeException { System.out.println("Start"); try { System.out.println("Step 1"); throw new IllegalArgumentException(); } catch (IllegalArgumentException e) { System.out.println("Catch IllegalArgumentException"); throw new RuntimeException("Step 2"); } catch (RuntimeException e) { System.out.println("Catch RuntimeException"); throw new RuntimeException("Step 3"); } finally { System.out.println("Step finally"); throw new RuntimeException("From finally"); } } private void throwCheckedException() throws Exception { throw new Exception("Checked exception"); } private void throwUncheckedException() { throw new RuntimeException("Unchecked exception"); } }