metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-09-16 06:43 pm

Тварь ты псящая или право имеешь?

System.InvalidOperationException: Primary key value is wrong type

Так вот, к вопросу о псении. Как известно, проверять типы, значения и прочие граничные условия, слава богу, все уже научились. А вот сообщать в исключении ожидаемое и полученное значение до сих пор почему-то не принято.

[identity profile] falcrum.livejournal.com 2012-09-16 03:46 pm (UTC)(link)
Зависит от БД. Оракл, скажем, выругается, что хотел date, а получил number.

[identity profile] metaclass.livejournal.com 2012-09-16 03:49 pm (UTC)(link)
Не, ругань БД понятна. И то, "некоторые" СУБД не указывают, какое значение вызывало ошибку.
Но вообще я имел в виду, что в жабе и дотнете любят кидать исключения, не указывая, какие именно значения их вызвали и почему.

[identity profile] w00dy.livejournal.com 2012-09-16 04:24 pm (UTC)(link)
Это уже от разрабов имхо зависит. Много кто ругается более информативно.

[identity profile] volodymir-k.livejournal.com 2012-09-16 08:15 pm (UTC)(link)
Драйвер не занимается телепатией. Что сервер БД прислал, то и кидается. Если драйвер будет заниматься дополнительными анализами окружения -- во-первых, чревато ещё более дикими исключениями, во-вторых, тратится время, а потом дебилы псят "зачем они это делают, ява ацтой".

[identity profile] metaclass.livejournal.com 2012-09-16 08:19 pm (UTC)(link)
Эта ошибка выводится ORM на основе анализа маппингов, а не из БД.

[identity profile] stdray.livejournal.com 2012-09-16 11:01 pm (UTC)(link)
Ну, они, бывает, в Data складывают подробоности. Редко, но бывает. Пару раз я точно видел.