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 складывают подробоности. Редко, но бывает. Пару раз я точно видел.

[identity profile] nicka-startcev.livejournal.com 2012-09-16 04:35 pm (UTC)(link)
"квалифицированный псёлог, лекции по псиелогии". =)
"я псю, и пся моя страшна"

[identity profile] berezovsky.livejournal.com 2012-09-16 04:52 pm (UTC)(link)
if (keys[i] != null && TypeHelper.GetNonNullableType(keys[i].Type) != TypeHelper.GetNonNullableType(memberType))
{
throw new InvalidOperationException("Primary key value is wrong type");
}


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

[identity profile] kong-en-ge.livejournal.com 2012-09-16 06:43 pm (UTC)(link)
> Primary key value is wrong type
Ребе, это вы накосячили в цитате, пропустив некоторые слова, или современное программирование играет новыми осенними красками шизофрении?

[identity profile] metaclass.livejournal.com 2012-09-16 06:48 pm (UTC)(link)
цитата дословная :)
throw new InvalidOperationException("Primary key value is wrong type");

[identity profile] kong-en-ge.livejournal.com 2012-09-16 06:58 pm (UTC)(link)
А вот лично вам не показалось странным отсутствие "of"? :)

[identity profile] metaclass.livejournal.com 2012-09-16 07:17 pm (UTC)(link)
Фраза кривая, да. Если бы она была не кривая, я бы не обратил внимания :)

[identity profile] kong-en-ge.livejournal.com 2012-09-16 07:21 pm (UTC)(link)
Ах, какая досада, что это просто фраза на индусском, а не новый новомодный концепт с типом в качестве первички :)

[identity profile] altmind.livejournal.com 2012-09-16 07:49 pm (UTC)(link)
поэтому я люблю софт и библиотеки с исходниками.

[identity profile] metaclass.livejournal.com 2012-09-16 07:58 pm (UTC)(link)
Да, можно починить самому. Если б еще в апстрим вернуть, вообще было бы хорошо.