Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Обработка out of range

тут можно задать вопрос по скриптингу
Post Reply
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Обработка out of range

Post by drabadan »

CFA wrote:
drabadan wrote:O_o а может тогда и аут оф рендж можно обработать?
try/except в PS вроде работает, можно попробовать перехватить исключение.

Code: Select all

Error exec script method "TestTryExcept" - Wrong index!

procedure TestTryExcept;
var
 fArray : Array of Byte;
begin
 
 fArray := [0,1,2,3,4];
 try
  AddToSystemJournal(IntToStr(fArray[8]));
 except
  raiseException(erCustomError, 'Wrong index!'); 
 end; 

 
 AddToSystemJournal(IntToStr(fArray[0])); 
end;

то-есть сообщение себе показать можно, а вот чтоб скрипт продолжился нельзя?
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: остановка скрипта

Post by CFA »

Code: Select all

try
  AddToSystemJournal(IntToStr(fArray[8]));
 except
  //raiseException(erCustomError, 'Wrong index!'); 
  AddToSystemJournal('Wrong index!');
 end; 
raiseException не нужно, эта команда создает исключение, которое останавливает скрипт.

И еще вместо raiseException для остановки скрипта можно использовать процедуру Halt.
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: остановка скрипта

Post by drabadan »

CFA wrote:

Code: Select all

try
  AddToSystemJournal(IntToStr(fArray[8]));
 except
  //raiseException(erCustomError, 'Wrong index!'); 
  AddToSystemJournal('Wrong index!');
 end; 
raiseException не нужно, эта команда создает исключение, которое останавливает скрипт.

И еще вместо raiseException для остановки скрипта можно использовать процедуру Halt.
эх, где ж вы раньше были!

А ивент реально создать на такой екзепт?
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: остановка скрипта

Post by CFA »

drabadan wrote:А ивент реально создать на такой екзепт?
Ивент скорее всего нет, да и не нужен он - try/except это стандартный способ обработки исключительных ситуаций.
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: остановка скрипта

Post by drabadan »

CFA wrote:
drabadan wrote:А ивент реально создать на такой екзепт?
Ивент скорее всего нет, да и не нужен он - try/except это стандартный способ обработки исключительных ситуаций.
огромное спасибо!
Post Reply