Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Исключение при делении на 0
|
|||
|---|---|---|---|
|
#18+
Почему фокс не генерит исключение при делении на 0, а только пишет кучу звездочек в переменную? TRY-CATCH-ем исключение не ловится. И даже не понятно как программно определить что там было деление на 0 и в переменной звездочки(так выглядит содержимое переменной в дебагере) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2011, 07:27 |
|
||
|
Исключение при делении на 0
|
|||
|---|---|---|---|
|
#18+
Ошибка будет если попытаться сохранить в таблицу это значение. Определять надо заранее, перед делением проверяй что знаменатель не равен нулю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2011, 07:52 |
|
||
|
Исключение при делении на 0
|
|||
|---|---|---|---|
|
#18+
Это понятно. Просто тут распарсиваются значения, которые собираются в строку, которая выполняется макроподстановкой. И при проверке каждого значения на 0, задача усложняется в разы. Проблемму решил конвертацией получившегося значения в строку, и проверкой первого символа на равность '*'(звездочке), но это же такие кастыли блин. А почему фокс не генерит исключений, при делении на 0? Я не знаю ни одного языка, который бы не генерил исключение, при делении на 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2011, 08:57 |
|
||
|
Исключение при делении на 0
|
|||
|---|---|---|---|
|
#18+
SitrА почему фокс не генерит исключений, при делении на 0? ХЗ, так разработчики фокса решили, всегда так было. Звездочки означают переполнение, которое возникает не только при делении на ноль, но и при попытке записать число в поле, в которое оно не влазит. Например: Код: plaintext Считай звездочки одним из возможных значений и проверяй сравнив с ним же: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2011, 09:14 |
|
||
|
Исключение при делении на 0
|
|||
|---|---|---|---|
|
#18+
SitrПроблемму решил конвертацией получившегося значения в строку, и проверкой первого символа на равность '*'(звездочке) Проще вычитанием: если число-число не равно нулю, значит переполнение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2011, 09:43 |
|
||
|
Исключение при делении на 0
|
|||
|---|---|---|---|
|
#18+
Можно попробовать использовать функции, деление на ноль в которых генерит ошибку. Например MOD(). А вызов этой функции "обернуть" в evl() Код: plaintext 1. 2. 3. 4. В принципе, можно просто переопределять переменную через эту функцию Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2011, 10:10 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=37381727&tid=1584239]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 370ms |

| 0 / 0 |
