Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Exeption / 25 сообщений из 66, страница 1 из 3
22.11.2021, 19:39
    #40113922
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
Какой бы exeption вы выкинули ,если имеются следущие вводные

1.Есть метод ,который принимает на вход объект и int
если у объекта стоит флаг iDontNeedInt ==true я должен выкинуть исключение- вопрос какое по семантике сюда больше подходит,понятно что оно должно наследоваться от RunTimeExeption

либо же не мудрить и написать свое
...
Рейтинг: 0 / 0
22.11.2021, 20:02
    #40113934
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
localhost8080
Какой бы exeption вы выкинули ,если имеются следущие вводные

1.Есть метод ,который принимает на вход объект и int
если у объекта стоит флаг iDontNeedInt ==true я должен выкинуть исключение- вопрос какое по семантике сюда больше подходит,понятно что оно должно наследоваться от RunTimeExeption

либо же не мудрить и написать свое


Ничего не понял, но будет интересно послушать ответы
...
Рейтинг: 0 / 0
22.11.2021, 20:05
    #40113936
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
IllegalArgument?
...
Рейтинг: 0 / 0
22.11.2021, 20:08
    #40113939
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
chpasha
IllegalArgument?

не очень подходит по сементике ибо такое кидается обычно,если аргумент не валиден

тут немного другое ,если у объекта не ожидаемое состояние мы должны выкинуть эксепшен в другом случае присвоить этот аргумент объекту
...
Рейтинг: 0 / 0
22.11.2021, 20:10
    #40113942
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
Лучше всего сделать

Код: java
1.
2.
3.
public class StasyanApplicationException extends RuntimeException {
    ...
}



И через конструктор передать полные сведенья об ошибке. Об этом кстати постоянно статик коде-чекеры говорят.

Плюс логи станут информативнее и можно грепнуть когда чего было.
...
Рейтинг: 0 / 0
22.11.2021, 20:12
    #40113945
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
забыл ник
localhost8080
Какой бы exeption вы выкинули ,если имеются следущие вводные

1.Есть метод ,который принимает на вход объект и int
если у объекта стоит флаг iDontNeedInt ==true я должен выкинуть исключение- вопрос какое по семантике сюда больше подходит,понятно что оно должно наследоваться от RunTimeExeption

либо же не мудрить и написать свое


Ничего не понял, но будет интересно послушать ответы

а что тут непонятного? вот тебе простой пример объект женщина метод принимает на вход женщину и длину хрена
перед тем как присвоить длину хера мы должны проверить условие ( пусть это будет обычный флаг женщина (да/нет))
так вот если тебе в метод заходит в качестве аргументов объект с флагом женщина и длинна хрена 7 см
ты должен выдать исключение,потому что пусть хрен и маловат,но у женщины его быть не может))
так вот вопрос в том,какое именно сюда подходит исключение из существующих по семантике
...
Рейтинг: 0 / 0
22.11.2021, 20:13
    #40113946
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
localhost8080
если у объекта не ожидаемое состояние

ну кидай тогда IllegalState, хотя как по мне, так вопрос точки зрения - ибо весь объект вместе со своим состоянием является в данном случае невалидным аргументом.
...
Рейтинг: 0 / 0
22.11.2021, 20:14
    #40113948
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
mayton
Лучше всего сделать

Код: java
1.
2.
3.
public class StasyanApplicationException extends RuntimeException {
    ...
}



И через конструктор передать полные сведенья об ошибке. Об этом кстати постоянно статик коде-чекеры говорят.

Плюс логи станут информативнее и можно грепнуть когда чего было.


это понятно и об этом я писал вначале поста- хочется чего то ,что уже имеется в джаве- наверняка там такое есть


мне вот ближе всего IllegalAccessExeption но он с**а не рантайм)
...
Рейтинг: 0 / 0
22.11.2021, 20:15
    #40113949
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
chpasha
localhost8080
если у объекта не ожидаемое состояние

ну кидай тогда IllegalState, хотя как по мне, так вопрос точки зрения - ибо весь объект вместе со своим состоянием является в данном случае невалидным аргументом.

state похож по семантике - но в реальности нужно чтото типо метод нот аловед если вот тут так наверно
но state видимо самое близкое из всего
...
Рейтинг: 0 / 0
22.11.2021, 20:19
    #40113952
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
localhost8080
забыл ник
пропущено...


Ничего не понял, но будет интересно послушать ответы

а что тут непонятного? вот тебе простой пример объект женщина метод принимает на вход женщину и длину хрена
перед тем как присвоить длину хера мы должны проверить условие ( пусть это будет обычный флаг женщина (да/нет))
так вот если тебе в метод заходит в качестве аргументов объект с флагом женщина и длинна хрена 7 см
ты должен выдать исключение,потому что пусть хрен и маловат,но у женщины его быть не может))
так вот вопрос в том,какое именно сюда подходит исключение из существующих по семантике

Все равно ни хрена не понял, сорян.
Судя по всему ты разгребаешь последствие ошибки, совершенной ранее. Описанный метод - дичь для меня, в моем разумении объект должен быть создан валидным, соблюдая все инварианты, и более того - иммутабельным. Поэтому постановк задачи уже как бы намекает. Но конечно всякое може быть.. хотя я привык доверять своему опыту, а мой опыт говорит что это говнокод.
Какой эксепшен кидать тоже непонятно, и IllegalState и IllegalArgument вроде как подходят. Но смотря какая бизнес-логика спрятана за твоим объектом - возможно кастомное исключение будет легче и понятнее. Оба вышеперечисленных исключений подразумевают безоговорочную остановку выполнения flow, если же ты как то, где то будешь ловить этот эксепшен и на его основе строить логику - то однозначно свой эксепшен нужен
...
Рейтинг: 0 / 0
22.11.2021, 20:21
    #40113953
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
localhost8080

мне вот ближе всего IllegalAccessExeption но он с**а не рантайм)

Вообще ни разу не ближе!

Читай по смыслу где оно используется.

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalAccessException.html
...
Рейтинг: 0 / 0
22.11.2021, 20:22
    #40113954
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
chpasha,
Еще лучше если будет понятно что с состоянием. Зачем морщить лоб и выяснять что там не так.
Object is busy и сразу все понятно.
Отсюда - свое исключение
...
Рейтинг: 0 / 0
22.11.2021, 20:23
    #40113955
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
забыл ник
Описанный метод - дичь для меня
+1
...
Рейтинг: 0 / 0
22.11.2021, 20:24
    #40113956
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
chpasha
localhost8080
если у объекта не ожидаемое состояние

ну кидай тогда IllegalState, хотя как по мне, так вопрос точки зрения - ибо весь объект вместе со своим состоянием является в данном случае невалидным аргументом.

там все немного сложней

сам объект является валидным если даже он женщина и хрен 7 см,так как стоит флаг объекта женщина и хрен не доступен для просмотра и редактирования - но мы сохранили последнее значение когда объект был мужчиной)

далее речь об обычном сеттере который должен в случае если сейчас объект жещина выдать исключение при присвоении длинны члена)

кастомное не хочу - хочу семантически верное из java.lang
...
Рейтинг: 0 / 0
22.11.2021, 20:26
    #40113958
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
Топнул ножкой?
...
Рейтинг: 0 / 0
22.11.2021, 20:31
    #40113961
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
забыл ник

Все равно ни хрена не понял, сорян.
Судя по всему ты разгребаешь последствие ошибки, совершенной ранее. Описанный метод - дичь для меня, в моем разумении объект должен быть создан валидным, соблюдая все инварианты, и более того - иммутабельным. Поэтому постановк задачи уже как бы намекает. Но конечно всякое може быть.. хотя я привык доверять своему опыту, а мой опыт говорит что это говнокод.
Какой эксепшен кидать тоже непонятно, и IllegalState и IllegalArgument вроде как подходят. Но смотря какая бизнес-логика спрятана за твоим объектом - возможно кастомное исключение будет легче и понятнее. Оба вышеперечисленных исключений подразумевают безоговорочную остановку выполнения flow, если же ты как то, где то будешь ловить этот эксепшен и на его основе строить логику - то однозначно свой эксепшен нужен


ты немного не понял одного объект всегда валиден- в том и фишка иначе бы я в сетеры загнал асерты и вася кот

тут немного иначе идет бизнес флоу - есть объект женщина у него нет хрена и все норм,в какой то момент объект становится мужчиной ,ему присваеитвается размер пениса

потом с этим же объектом идет обратная манипуляция - из мужчины он превращася в женщину) при этом его последний размер сохранен- тоесть фактически объект валиден с хреном или без если он женщина/мужчина))

при этом есть метод,который редактирует размер члена и нужно выдать ошибку ,если вы хотите накинуть пару см объету ,который сейчас женщшина))))


как я писал изначально я могу написать свою ошибку и не утруждать вас ,но можно заставить вас всех подумать и вспомнить что по семантике из java exeption сюда лучше всего вписывается)
...
Рейтинг: 0 / 0
22.11.2021, 20:32
    #40113962
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
mayton
Топнул ножкой?
угу.
Объекта вызывают не по API в верхнем слое бизнес логики.
Он давно не мужчина и надо это проверять перед увеличеним пениса.
Но стас хочет усложнить жизнь и выдать исключение максимально запутаное.
...
Рейтинг: 0 / 0
22.11.2021, 20:33
    #40113963
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
пока лидирует IllegalStateExeption ,я так же склонялся к нему - но все таки мне кажется есть еще более близкие по духу ошибки
...
Рейтинг: 0 / 0
22.11.2021, 20:36
    #40113965
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
PetroNotC Sharp

Он давно не мужчина и надо это проверять перед увеличеним пениса.
.

верно уловил мысль- это нужно проверить и если он не мужчина - выбросить исключение- вопрос какое ближе будет по семантике
кастомное я и без вас бы написал давно,но не хочу
...
Рейтинг: 0 / 0
22.11.2021, 20:38
    #40113969
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
Представляю как будут ругаться специалисты 2-й линии саппорта когда узнают что
имена исключений в логах ... могут не соотвествовать смыслу.
...
Рейтинг: 0 / 0
22.11.2021, 20:38
    #40113970
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
PetroNotC Sharp
забыл ник
Описанный метод - дичь для меня
+1

Пока ты не попал в клинику по смене пола)
представь ситуацию где то произошла ошибка и везут жену ника вместо увеличения сисек увеличивать член))- поверь мне пришьют и что потом будет делать ник? ведь можно было сделать нормальный метод- а он не смог))
...
Рейтинг: 0 / 0
22.11.2021, 20:41
    #40113973
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
mayton
Представляю как будут ругаться специалисты 2-й линии саппорта когда узнают что
имена исключений в логах ... могут не соотвествовать смыслу.


не не не - у нас тут все по феншую круче- никакие 2 линии этого не увидят)на верх прилет 409й код с тектом ошибки
"Эй вася зачем хочешь хрен нарастить эта жи женщина жи есть"))
...
Рейтинг: 0 / 0
22.11.2021, 20:42
    #40113974
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
localhost8080,
А че тут улавливать.
У любого прогера полно таких моментов.
В дельфи датасет имеет состояния.
В хибере обьект приаттачен или нет.
Занафига скрывать подробности исключения я не понял.
...
Рейтинг: 0 / 0
22.11.2021, 20:45
    #40113976
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
localhost8080,
Сколько состояний на 409 код?
Тебе виднее. Запиши в текст на арабском
...
Рейтинг: 0 / 0
22.11.2021, 20:46
    #40113977
localhost8080
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
PetroNotC Sharp
localhost8080,
А че тут улавливать.
У любого прогера полно таких моментов.
В дельфи датасет имеет состояния.
В хибере обьект приаттачен или нет.
Занафига скрывать подробности исключения я не понял.

блин ну не скрывает никто - не хочется городить кастом если есть близкая по семантике джава ошибка

мы щас бьемся за чистоту кода - минимум стоороних либ,минимум хибера,спринга и тд,есть слои где вообще все это запрещено,при этом не вызывает радости и какие то кастомные истории ,если есть аналог в языке- поэтому и возник этот вопрос

я вот думаю тут IllegalState подходит
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Exeption / 25 сообщений из 66, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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