Войти

Показать полную графическую версию : [решено] Можно ли как-нибудь обрабатывать фатальные ошибки в скрипте?


evg64
15-09-2009, 22:25
Я имею в виду ошибки, приводящие к завершению скрипта. Как можно хотя бы поменять заголовок/содержание выскакивающего окна? Если в таких случаях можно как-то продолжить работу скрипта, буду рад услышать, как :)
К примеру:

global $a[10], $array[10]
msgbox(0,"AutoIT",$a[15])
for $i=0 to 9
$array[$i]=$i+1
next

На второй строчке кода всплывет сообщение о превышенни размерности массива, можно ли его пропустить/поменять содержание?

kaster
15-09-2009, 22:45
evg64, а как появится значение для MsgBox если такого индекса нет в природе?
:biggrin: msgbox(0,"AutoIT",$a[15]) »
в то время, как
global $a[10], $array[10] »

FlatX007
15-09-2009, 23:02
Ну а если ответить (хорошо подумав) строго по вопросу в шапке то так :
Global $aArray[15]
$aArray[0] = 0x00
$aArray[1] = 0x10

$ilimiter = 10 ; Лимит

$aU = UBound($aArray)
If $aU > $ilimiter Then MsgBox(64, "", "Превышен лимит размерености массива " & @CRLF & $aU & " из возможных " & $ilimiter)

Creat0R
15-09-2009, 23:17
Самая лучшая система контроля ошибок это их недопускание, но как показывает практика, этого не избежать.

Я давно написал (на основе аналогичного проекта) обработчик таких фатальных ошибок, но продолжение скрипта при ошибках не осуществить (только перезапуск), не в AutoIt (на данный момент по крайней мере).

AutoItErrorHandler (http://creator-lab.ucoz.ru/load/3-1-0-45)

evg64
16-09-2009, 20:08
Было лень искать по коду, на какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"?

Creat0R
16-09-2009, 22:58
какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"? »
Никакой, там просто Msgbox, а что я там должен был подставить, это пусть сам юзер делает, если не лень конечно :jester:




© OSzone.net 2001-2012