Ošetření chyby scriptu použitím on-error

Od verze RouterOS 6.2 je možné ve spuštěných scriptech zachytávat run-time errory. Je to vhodné hlavně pro případ, že script při svém běhu narazí na chybu. Díky tomu se neukončí, ale vykoná se větev scriptu definovaná v on-error={}.

Příklad :do {} on-error={}

Jako příklad poslouží nastavení aktualizačního kanálu. Od RouterOS v6.44beta6 se názvy aktualizačních kanálů přejmenovaly.

  • „bugfix“ > „long-term“
  • „current“ > „stable“
  • „release candidate“ > „testing“

Pokud tedy potřebujete mít script na změnu aktualizačního kanálu funkční na steré i nové verzi RouterOS, musíte si ošetřit možnou chybu následujícím způsobem.

:do {/system package update set channel="stable";} on-error={/system package update set channel="current";}

Podobně lze díky on-error={} ošetřit spousty dalších výjimek.

on-error

Zdroj

wiki.mikrotik.com/wiki/Manual:Scripting#Catch_run-time_errors

Napsat komentář