NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: seaman on May 26, 2015, 11:04:48 AM

Title: пример try/catch
Post by: seaman on May 26, 2015, 11:04:48 AM
Гулял по форуму и  нашел, что в версии 1.2.16 добавлен оператор try / catch

https://www.netxms.org/forum/announcements/netxms-1-2-16-released/msg14616/#msg14616 (https://www.netxms.org/forum/announcements/netxms-1-2-16-released/msg14616/#msg14616)

Как пользоваться им ума не приложу. Может кто поделится рабочим примером?
Title: Re: пример try/catch
Post by: Victor Kirhenshtein on May 26, 2015, 05:31:01 PM
Например такой скрипт:


x = 1;
y = null;

z = x / y;

println "z=" . z;


завершится с ошибкой:


Error 5 in line 4: Invalid operation with NULL value


добавляем try/catch:


x = 1;
y = null;

try
{
   z = x / y;
}
catch
{
   z = "ERROR CODE=" . $errorcode . "; LINE=" . $errorline . "; TEXT=" . $errortext;
}

println "z=" . z;


Скрипт отработает и выдаст


C:\Source\NetXMS\x64\debug>nxscript.exe test20.nxsl
NetXMS Scripting Host  Version 2.0-M5
Copyright (c) 2005-2015 Victor Kirhenshtein

z=ERROR CODE=5; LINE=6; TEXT=Error 5 in line 6: Invalid operation with NULL value

C:\Source\NetXMS\x64\debug>

Title: Re: пример try/catch
Post by: seaman on May 27, 2015, 08:31:53 AM
Спасибо