-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Можно ли как-нибудь обрабатывать фатальные ошибки в скрипте?
Я имею в виду ошибки, приводящие к завершению скрипта. Как можно хотя бы поменять заголовок/содержание выскакивающего окна? Если в таких случаях можно как-то продолжить работу скрипта, буду рад услышать, как :)
К примеру:
Код:
global $a[10], $array[10]
msgbox(0,"AutoIT",$a[15])
for $i=0 to 9
$array[$i]=$i+1
next
На второй строчке кода всплывет сообщение о превышенни размерности массива, можно ли его пропустить/поменять содержание?
|
evg64, а как появится значение для MsgBox если такого индекса нет в природе?
:biggrin:
Цитата:
Цитата evg64
Код:
msgbox(0,"AutoIT",$a[15])
»
|
в то время, как
Цитата:
Цитата evg64
global $a[ 10], $array[10] »
|
|
Ну а если ответить (хорошо подумав) строго по вопросу в шапке то так :
Код:
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
|
Было лень искать по коду, на какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"?
|
Цитата:
Цитата evg64
какой адрес в обработчике мейл отправляется, если нажать "Send a bug report"? »
|
Никакой, там просто Msgbox, а что я там должен был подставить, это пусть сам юзер делает, если не лень конечно :jester:
|
Время: 01:50.
© OSzone.net 2001-