Показать полную графическую версию : [решено] Можно ли как-нибудь обрабатывать фатальные ошибки в скрипте?
Я имею в виду ошибки, приводящие к завершению скрипта. Как можно хотя бы поменять заголовок/содержание выскакивающего окна? Если в таких случаях можно как-то продолжить работу скрипта, буду рад услышать, как :)
К примеру:
global $a[10], $array[10]
msgbox(0,"AutoIT",$a[15])
for $i=0 to 9
$array[$i]=$i+1
next
На второй строчке кода всплывет сообщение о превышенни размерности массива, можно ли его пропустить/поменять содержание?
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)
Самая лучшая система контроля ошибок это их недопускание, но как показывает практика, этого не избежать.
Я давно написал (на основе аналогичного проекта) обработчик таких фатальных ошибок, но продолжение скрипта при ошибках не осуществить (только перезапуск), не в AutoIt (на данный момент по крайней мере).
AutoItErrorHandler (http://creator-lab.ucoz.ru/load/3-1-0-45)
Было лень искать по коду, на какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"?
какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"? »
Никакой, там просто Msgbox, а что я там должен был подставить, это пусть сам юзер делает, если не лень конечно :jester:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.