Ta instrukcja wygląda podobnie do bloków try...catch
, które można znaleźć w wielu wysokopoziomowych językach takich jak C++ czy Java. Z tą różnicą, że w catch()
znajduje się warunek. Jeśli ten warunek stanie się prawdziwy, kod w bloku try zostanie przerwany, a kontrola przejdzie do bloku catch. Pozwala to na przerwanie programu w momencie wydarzenia się czegoś niespodziewanego. Na przykład, można sprawdzać czy mrówka jest w pobliżu i ewentualnie powrócić do bazy, aby uniknąć niebezpieczeństwa.
try
{
object item = radar(TitaniumOre);
goto(item.position);
grab();
// take ore to converter
}
catch(radar(AlienAnt, 0, 360, 0, 40) != null)
{
message("Ant is attacking me! Returning to base.");
object item = radar(SpaceShip);
goto(item.position);
}
O tej instrukcji nie było informacji w podręczniku CBOT. Została znaleziona w jednym z dokumentów, które dał nam EPSITEC razem z kodem źródłowym Colobota.