powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / зачем вообще этот throws в объявлении метода?
12 сообщений из 62, страница 3 из 3
зачем вообще этот throws в объявлении метода?
    #34767673
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024
мне кажется нада менее категорично заявлять что можно а что нельзя. Мир широк. Пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Color c=Color.black
 try {
c=parseColor(stringValueOfColor);
}{ catch (Throwable t){
//ну, не так цвет определили, конфиг может не там лежит, хрен с ним, пусть тогда будет чёрный
//ну, в консоль на всякий что-нить ругнём
t.printStackTrace();
//а, не, лучше пусть зелёный
c=Color.green
}
 return  c;

Ваш код — говно.
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767697
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, но я считаю его шедевром. Чиста моё мнение.
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767706
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024мне кажется нада менее категорично заявлять что можно а что нельзя. Мир широк. Пример: мне кажется плохой пример, тут может прилететь error "кирдык всему приложению", а тебя тут цвет консолки беспокоит.
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767710
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vas0

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
public void someMethod() {
   try {
   } catch(Exception e) {
   }
}
Ну и писать один catch тоже очень опасно, может прилететь исключение,
которое и обработать вы толком не сможете, так как вы его не ожидали



Ну бывает.
"Давайте мы попробуем получить параметр от ..., а если не получим- то
будем считать его равным ...".
Естественно, что вывести log.error(...) стоит :)

Хотя да, пахнет это не очень :)

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767746
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да ладно, обычно прокатывает. Если б было больше времени, если б было больше ресурсов и т.д. и т.п.
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767777
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen Зашедший
Во-первых, слова "метод" я там не заметил, только слово "класс".

Можно пример класса в котором несколько методов и один на весь класс блок try/catch?

Лехко

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 public   class  Main {
  
     private   void  sayHello(String hello) {
         if  (hello !=  null ) {
            System.out.println(hello);
        }  else  {
             throw   new  RuntimeException("Hello!");
        }
    }

     private  String getHello() {
         return   null ;
    }
    
     public   static   void  main(String[] args) {
         try  {
            Main main =  new  Main();
            String hello = main.getHello();
            main.sayHello(hello);
        }  catch (Exception e) {
            e.printStackTrace();
        }
    }
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767800
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мош Блоха почитаем. боян порван имхо
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767802
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрюхрюшкин.Ваш код — говно.

Нормальный код. Я - бы написал вместо печати стека
Код: plaintext
1.
logger.log("Цвет сброшен по умолчанию",Logging.WARNING);
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34767833
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНормальный код. Я - бы написал вместо печати стека
Код: plaintext
1.
logger.log("Цвет сброшен по умолчанию",Logging.WARNING);

Если б был отформатирован — было б нормально. С тем, что лучше писать в лог, ага.
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34768076
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024ну, зачем же они тогда нужны если их не кидать, не ловить и не обрабатывать?
ПМСМ, исключения нужно бросать только в крайнем случае. Т.е. не закладывать на них логику. Можно, конечно, делать так, но зачем?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 try 
 while  (true)  do 
{
  sysout(arr[i++])
}
 finally  {}
end;
Насчет вашего примера - все-таки лучше не оставлять пользователя один на один со стеком Java. Не все его понимают :) Перехватить и вывести толковое сообщение все же лучше, чем стек. Опять-таки, уведомив пользователя по причине ошибке можно проще помочь ему ее исправить. Тот же цвет - одно дело, если нет файла, другое дело, если не правильно задан формат файла. Пусть пользователь знает в чем дело. Ситуацию могут спасти хорошие исключение, которые будут хранить в себе информацию о причине ошибки. Тогда да, возможно так имеет смысл делать. При этом выводить пользователю информацию, а не стек.
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34768264
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так там же код приведён, причём тут пользователь. Например получить что-то из базы данных - как минимум

может отсутствовать ждбц драйвер,
может быть недоступен сервер,
может отсутствовать доступ к этим данным.

вроде удобно в методе бросать три разных исключения. Тот код что будет функцию получения данных вызывать может обработать исключения по разному. Например сообщения разные показать или на разные адреса супорта письма послать. А может и не делить их по смыслу а тупо написать "Обратитесь к админу".

По-моему удобно и гибко. Это не крайняя ситуация, это обычная конструкция типа if/else. Хотя можно и не использовать, беды не будет.
...
Рейтинг: 0 / 0
зачем вообще этот throws в объявлении метода?
    #34768483
Anarion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnarionВсе так. И вобще, хорошим стилем считается не плодить кучу try...{} catch{}, а делать на весь класс глобальный
Код: plaintext
1.
2.
3.
4.
5.
 try {
....
}
 catch  (Ecxeption e){
}


Ээээ... Народ... Это йумор, подъебка.
Конечно, так делать не надо.
...
Рейтинг: 0 / 0
12 сообщений из 62, страница 3 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / зачем вообще этот throws в объявлении метода?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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