Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Можно ли как-нибудь обрабатывать фатальные ошибки в скрипте? (http://forum.oszone.net/showthread.php?t=150627)

evg64 15-09-2009 22:25 1219811

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

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 1219821

evg64, а как появится значение для MsgBox если такого индекса нет в природе?
:biggrin:
Цитата:

Цитата evg64
Код:

msgbox(0,"AutoIT",$a[15])
»

в то время, как
Цитата:

Цитата evg64
global $a[10], $array[10] »


FlatX007 15-09-2009 23:02 1219831

Ну а если ответить (хорошо подумав) строго по вопросу в шапке то так :
Код:

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 1219838

Самая лучшая система контроля ошибок это их недопускание, но как показывает практика, этого не избежать.

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

AutoItErrorHandler

evg64 16-09-2009 20:08 1220474

Было лень искать по коду, на какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"?

Creat0R 16-09-2009 22:58 1220631

Цитата:

Цитата evg64
какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"? »

Никакой, там просто Msgbox, а что я там должен был подставить, это пусть сам юзер делает, если не лень конечно :jester:


Время: 01:50.

Время: 01:50.
© OSzone.net 2001-