From d1c96c0af5c3edf89b2c9baf049b2b73b1ed88a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= Date: Fri, 9 Jun 2023 15:17:25 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20HW3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/future/code/homework/HomeWork3.java | 76 ++++++++++++++++++- 1 file changed, 72 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/future/code/homework/HomeWork3.java b/src/main/java/org/future/code/homework/HomeWork3.java index 959cdb0..5cacc8c 100644 --- a/src/main/java/org/future/code/homework/HomeWork3.java +++ b/src/main/java/org/future/code/homework/HomeWork3.java @@ -24,7 +24,7 @@ * ‼️ВАЖНО‼️ Вся работа в модкле ведется на JDK-17, перед запуском скачайте его и установите * правильный JDK и уровень языка в Settings -> Project Structure */ -public class HomeWork3 { +public class HomeWork3 { /** * Задание: @@ -43,13 +43,81 @@ public class HomeWork3 { * для ExportException вернуть строку "ExportException" */ + + public static void raiseException(Integer exceptionId) throws Exception { // Подсказка: throws Exception в итоге надо поменять на перечисление имен исключений - // Напиши свой код тут для задания 1 - throw new Exception(); + if(exceptionId <= 2) + { + if(exceptionId==1) + { + throw new SocketException(); + } + else + { + throw new ClassNotFoundException(); + } + } + else + { + if(exceptionId==3) + { + throw new AccessDeniedException(); + } + else + { + throw new ExportException(); + } + + } } - public static String catchException(Integer integer) { + + + static class AccessDeniedException extends Exception { + public AccessDeniedException() {} + + public AccessDeniedException(String message) + { + super(message); + } + } + + static class ExportException extends Exception { + public ExportException() {} + + public ExportException(String message) + { + super(message); + } + } + + + + + public static String catchException(Integer a) { // Напиши свой код тут для задания 2 + try + { + raiseException(a); + } + catch(SocketException ex) + { + return "SocketException"; + } + catch(ClassNotFoundException ex) + { + return "ClassNotFoundException"; + } + catch(AccessDeniedException ex) + { + return "class Main$AccessDeniedException"; + } + catch(ExportException ex) + { + return "class Main$ExportException"; + } catch (Exception e) { + throw new RuntimeException(e); + } return "Exception"; }