powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Использование Exception в коде.
10 сообщений из 10, страница 1 из 1
Использование Exception в коде.
    #38137631
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа
Как-то до конца не смог понять, допустимо ли в коде использовать Exception в таком виде

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
public class ApplicationException extends Exception
{
     public ApplicationException(String message)
    {
        super(message);
    }
}

public class My1
{
   public static void method1() throws ApplicationException
   {
       .....
    }
}

public class My2
{
   String messageForPage;
   public void method2()
   {
       try
       {
          My1.method1()
       }
       catch(ApplicationExcption e)
       {
           messageForPage = e.getMessage();  
        }
    }
}



То есть внутри метода например в сервисах бросать его, а на уровне контроллера странички вытаскивать из него сообщение в блоке catch и рисовать на странице. Можно так делать?
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38137664
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
osonГоспода
Как-то до конца не смог понять, допустимо ли в коде использовать Exception в таком виде

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
public class ApplicationException extends Exception
{
     public ApplicationException(String message)
    {
        super(message);
    }
}

public class My1
{
   public static void method1() throws ApplicationException
   {
       .....
    }
}

public class My2
{
   String messageForPage;
   public void method2()
   {
       try
       {
          My1.method1()
       }
       catch(ApplicationExcption e)
       {
           messageForPage = e.getMessage();  
        }
    }
}



То есть внутри метода например в сервисах бросать его, а на уровне контроллера странички вытаскивать из него сообщение в блоке catch и рисовать на странице. Можно так делать?


Можно. В принципе я всю обработку ошибок именно на этом и строил. не люблю возвращать всякие коды в методах.
Хотя, я не показатель, т.к. многие бывшие сишники именно возврат кодов используют.
Если память не изменяет, то так в свое время делал
Код: java
1.
   throw new ApplicationException("бла бла бла");
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38137689
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему тут стоит рассмотреть что же вкладываем в ApplicationException. Если это файл юзера, то нужно ему внятно и доступно объяснить в чем проблема, с локализацией текста ошибки и, возможно, ссылкой на help/FAQ и т.п.
Если это какой-то неожиданный фейл самой программы, то юзеру оно нафиг не нужно. Такое исключение надо отловить каким-то общим handler-ом и отправить в админу\в саппорт мылом, с полным stacktrace и любой полезной дополнительной информацией (Например дампом запроса).
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38137752
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oson То есть внутри метода например в сервисах бросать его, а на уровне контроллера странички вытаскивать из него сообщение в блоке catch и рисовать на странице. Можно так делать?

Конечно..
Только, как верно заметил SergeyAKa , исключение сервисметод должен таки бросить. Иначе откуда бы ему взяться..
В контроллере отлавливаем ApplicationException с целью сообщить юзверю application specific информацию, а также дополнительно обрабатываем Exception на всякие другие случаи, дескать "У нас тут эпик фэйл, но мы уже устраняем, если ошибка повторится, обратитесь к Одминго".. )
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38137931
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mesier,
вроде 80 процентов сабжа уже декларативно в Java обрабатывается? В том числе аннотациями?
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38137933
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я для этого делаю такие исключения в системе - свои именно

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class ApplicationException extends Exception 
{
    public ApplicationException(String message)
    {
        super(message);
    }

    public ApplicationException(String message, Throwable cause)
    {
        super(message, cause);
    }
}


и

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public class SystemException extends RuntimeException
{
    public SystemException()
    {
    }

    public SystemException(String message)
    {
        super(message);
    }

    public SystemException(String message, Throwable cause)
    {
        super(message, cause);
    }

    public SystemException(Throwable cause)
    {
        super(cause);
    }
}



Первый для юзера. То есть именно в него помещаю ошибку в движке< а на уровне view вытягиваю ее и показываю в виде message пользователю.
А второй класс - именно для ошибок в системе, например две зщаписи в базе когда должна быть только одна и тп.
SystemException расширяет RuntimeException, то есть перехватывать его не надо.
Что по поводу такого подхода скажете?
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38137946
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oson,
чтобы не было велосипедом, начни с уже готового.
- для транзакций - откат на райзе
- для ГУИ - готовая библиотека подсвечивающая КОНТРОЛ с ошибкой и сообщением (Blazkowicz )
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38138138
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123
ты, как обычно, ничего не понял. он спрашивает можно ли внутрь исключения засовывать сообщение об ошибке, предназначенное для пользователя, и пробросить его внутри исключения туда, где оно будет показано пользователю.
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38138287
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
ты как обычно, ничего не понял, и самое главное - не ответил))
Учись у Blazkowicz - "ситуации бывают разные".
...
Рейтинг: 0 / 0
Использование Exception в коде.
    #38138535
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ты как обычно, ничего не понял, и самое главное - не ответил))

ой, он обиделся.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Использование Exception в коде.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]