|
|
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
Вася Уткин super-codeЕсли единственный аргумент не перехватывать неизвестные исключения - это возможная порча памяти. Так я открою вам глаза - в windows можно записать данные и в память чужого процесса. И как же это сделать без разделяемой памяти и привилегий ? super-codeВася Уткин, программу ArtMoney видел? http://www.artmoney.ru/manual/russian/faq.htm апустить программу ArtMoney Pro через контекстное меню "Запустить от имени Администратора " ( в английской версии "Run As Administrator " ) Бурная у тебя фантазия, мало того, что у тебя внешние процедуры запускаются не в отдельном заранее созданном процессе, так ещё и с правами администратора. Зачем тогда по твоему вообще процессы были созданы, жизнь усложнить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:17 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
Вася Уткин, про права я тебе ничего не говорил. Кто тебе гарантирует, что твой сервис у заказчика работает не от имени администратора? или соседний сервис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:20 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
super-codemayton, первоисточник найти не смог, но продолжение тут http://www.gamedev.ru/flame/forum/?id=122958 Сходу многобукв. И тема какая-то стрёмная. Хвостики какие-то. Сходу если это суть - перегрузка аллокатора то неинтересно. Да и накладно как-то... Хотя почитаю. Возможно стоит и отдельную ветку поднять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:36 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
mayton, не, это не серьезно все. Суть такова: один товарищ очень активно доказывал, что если вам нужен статический массив на 100 элементов, выделите массив на 120 (20 - хвостик). И когда вы ошибетесь в границах массива, ваше приложение не упадет... Ему сначала объясняли, а потом все согласились с ним и долго друг друга стебали, при любой непонятной ошибки, что нужно было использовать хвостики в массивах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:45 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
maytonНет такой практики. Держать резервы. В яве это уже и не сказать чтобы критично, скорее для порядка упомянул. Там и так прорва всего, что можно освободить и что освободится автоматически в результате размотки стека. maytonПо поводу настучать по голове автору - полностью согласен. Но это уже после краша приложения. Ну это как хотите. Думаю, я показал, что в ситуации таки можно кое-что сделать, хотя нарисовано сходу и список явно неполный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:46 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
Почему накинул 20% ? Почему не 1% или 200% ? Какой вобще в этом есть научный метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:48 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
И потом. Этож ошибку в софте не устраняет. Это просто ее скрывает от разработчика и надолго. Делал процессинг 1000 элементов. Суммы средие почсчитал там.. аналитику. Софт учёл 1001 элемент. Ошибку доступа не выдал. Ты доволен. А аналитика - не та. Ну не то чтобы совсем не та. Но чуть-чуть другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:54 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
mayton, в этом и была суть всего смеха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 18:00 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
super-codeВася Уткин, про права я тебе ничего не говорил. Кто тебе гарантирует, что твой сервис у заказчика работает не от имени администратора ? или соседний сервис. Внезапно! Администратор. Который пришел на замену уволенному - известно по какой причине. На системах, где считаются деньги или содержится конфиденциальная информация недопустимо запускать сервисы/приложения под Администратором ровно так же, как и устанавливать например Perform Volume Maintenance. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 18:22 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
softwarerВы так смешно говорите, словно вызываемый любезно возвращает специальную ошибку, "господа, я насрал вам в оперативку" :)Да, такая ошибка была бы весьма полезной. С точки зрения разработчика СУБД, случаи "кинул исключение и наверное нагадил в оперативку" и "кинул исключение, но скорее всего не нагадил" отличаются очень просто. Модуль от обычного апп-девелопера наверное нагадил, наш модуль или модуль из другой хорошей библиотеки или СУБД скорее всего отработал чисто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 18:28 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
maytonТы доволен. А аналитика - не та. Ну не то чтобы совсем не та. Но чуть-чуть другая. Первое, чему меня учили в аналитике - что трепетное олтп-шное отношение к корректности каждой строчки можно забыть, посчитать аналитику по 990, откинув 10 инвалидов - несравнимо лучше, чем из-за инвалидов отказаться считать всю тысячу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 23:04 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruС точки зрения разработчика СУБД, случаи "кинул исключение и наверное нагадил в оперативку" и "кинул исключение, но скорее всего не нагадил" отличаются очень просто. В любом случае, наибольший интерес представляет вариант "нагадил, гад, и не кинул никакого исключения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 23:06 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
softwarermaytonТы доволен. А аналитика - не та. Ну не то чтобы совсем не та. Но чуть-чуть другая. Первое, чему меня учили в аналитике - что трепетное олтп-шное отношение к корректности каждой строчки можно забыть, посчитать аналитику по 990, откинув 10 инвалидов - несравнимо лучше, чем из-за инвалидов отказаться считать всю тысячу.У меня сегодня запрос от юзера --- можно ли "отредактировать" контроль данных, чтобы география перестала ругаться на точки с широтой больше 90 и меньше минус 90, но продолжала ругаться на точки с широтой больше 97 и меньше минус 97 :) Бедолаги раскладывают данные на три кучки: приличные, полное гэ и гэ частичное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 00:50 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
Вася Уткинsuper-codeВася Уткин, про права я тебе ничего не говорил. Кто тебе гарантирует, что твой сервис у заказчика работает не от имени администратора ? или соседний сервис. Внезапно! Администратор. Который пришел на замену уволенному - известно по какой причине. На системах, где считаются деньги или содержится конфиденциальная информация недопустимо запускать сервисы/приложения под Администратором ровно так же, как и устанавливать например Perform Volume Maintenance. Да причем тут деньги? Я тебе привел пример - веб-сервер, он может не только деньги считать, если что, и будет лучше если он не будет падать от неизвестного ему исключения в дочерним плагине написанном на управляемом языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 09:55 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
Вася УткинНо идут всегда на компромисс, просто все потоки и подключения изначально поделены между несколькими процессами с изолированной памятью, и падает только один из процессов . Лучше если 10% соединений передподключатся, чем вместо 1 000 спишется 1 000 000 руб в биллинге. super-codeВася Уткинпропущено... Внезапно! Администратор. Который пришел на замену уволенному - известно по какой причине. На системах, где считаются деньги или содержится конфиденциальная информация недопустимо запускать сервисы/приложения под Администратором ровно так же, как и устанавливать например Perform Volume Maintenance. Да причем тут деньги? Я тебе привел пример - веб-сервер, он может не только деньги считать, если что, и будет лучше если он не будет падать от неизвестного ему исключения в дочерним плагине написанном на управляемом языке. А веб-сервер и не будет падать если исключение произойдет в отдельном процессе "в дочерним плагине написанном на управляемом языке", а упадет и перезапустится только этот отдельный процесс и переподключатся соединения его использующие в данный момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:03 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
iv_an_rusoftwarerпропущено... Первое, чему меня учили в аналитике - что трепетное олтп-шное отношение к корректности каждой строчки можно забыть, посчитать аналитику по 990, откинув 10 инвалидов - несравнимо лучше, чем из-за инвалидов отказаться считать всю тысячу.У меня сегодня запрос от юзера --- можно ли "отредактировать" контроль данных, чтобы география перестала ругаться на точки с широтой больше 90 и меньше минус 90, но продолжала ругаться на точки с широтой больше 97 и меньше минус 97 :) Бедолаги раскладывают данные на три кучки: приличные, полное гэ и гэ частичное. Спроси как они поступают с углами от 90 до 97. Просто интерсно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 13:23 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
Вася УткинА веб-сервер и не будет падать если исключение произойдет в отдельном процессе "в дочерним плагине написанном на управляемом языке", а упадет и перезапустится только этот отдельный процесс и переподключатся соединения его использующие в данный момент. IIS в windows работает по другому. Доказательства приводил. Но Вася, конечно, знает лучше, чем галимый Microsoft как надо писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 14:51 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
maytoniv_an_ruпропущено... У меня сегодня запрос от юзера --- можно ли "отредактировать" контроль данных, чтобы география перестала ругаться на точки с широтой больше 90 и меньше минус 90, но продолжала ругаться на точки с широтой больше 97 и меньше минус 97 :) Бедолаги раскладывают данные на три кучки: приличные, полное гэ и гэ частичное. Спроси как они поступают с углами от 90 до 97. Просто интерсно Разобрался уже. У них кроме реальных данных есть сколько-то bounding box--ов, вычисленных для дуг по приближённым алгоритмам. Формально утверждение "широты всех точек данных фигур лежат в диапазоне от 70 до 97" ничем не менее правильно, чем утверждение "... от 70 до 90". Ещё там ненулевое количество ошибок округления вокруг полюсов и ошибок, связанных с вычислением дуг на сфере вместо вычислением дуг на геоиде. Эти два сорта они вроде как умеют различать и частично исправлять, выясняя сначала, какие источники по каким причинам и какими способами косячат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:11 |
|
||
|
Когда подавлять исключения а когда пропускать?
|
|||
|---|---|---|---|
|
#18+
Вообще, и у экзепшнов, и у возвращаемых значений две цели: 1) сигнализация об ошибках для разработчиков 2) сигнализация об ошибках для самой программы Ошибки для разработчиков нужно выдавать все в отладке, и только нештатные в релизе. Нештатные должны валить исполнение, иначе отладка и тестирование будут на "два с плюсом" - "три с минусом". Ошибки для программы должны обрабатываться всегда. Иначе нет уверенности в том, что ваша программа что-то сделала, а что-то не сделала. Т.е. когда выполняется строчка кода, сам факт того, что до неё дошло исполнение должен свидетельствовать о целостности, и безошибочности всего, что нужно этой строчке кода. Или, по крайней мере всё, что необходимо, должно тут же проверяться. Иначе результат работы этой строчки кода будет даже хуже чем ошибочен - не определён. Я придерживаюсь мнения, что весь код в программе должен определённо работать, а не на удачу. Код должен работать, или не работать фактически, а не статистически. Поэтому, нужно компактно и эффективно проверять все предыдущие вызовы, а значит и вообще все вызовы в программе, где может возникнуть хоть какая-то реальная ошибка (например выделение памяти, или неверное значение указателя на функцию). Проигнорировать результат проверки вы всегда успеете. А вот месяцами и годами искать в крупном корпоративном продукте источник редких ошибок - это верный результат отношения к ошибкам: "рано или поздно всё равно отладится". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 20:34 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38727116&tid=1341251]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 378ms |

| 0 / 0 |
