<?php
class Kontener
{
  protected $tab = array(100, 200, 300, 400);
  public function getElement($index)
  {
    if(!is_numeric($index)){
      throw new InvalidArgumentException(
                    "Argument nie jest wartością liczbową.");
    }
    $index = (integer) $index;
    if($index < 0 || $index >= count($this->tab)){
      throw new OutOfRangeException("Indeks poza zakresem.");
    }
    else{
      return $this->tab[$index];
    }
  }
}

$kontener = new Kontener();

if($_SERVER['argc'] < 2){
  exit("W wywołaniu należy podać wartość indeksu!");
}

$index = $_SERVER['argv'][1];

try{
  $val = $kontener->getElement($index);
}
catch(InvalidArgumentException $e){
  echo "Wystąpił błąd: ", $e->getMessage();
  exit();
}
catch(OutOfRangeException $e){
  echo "Wystąpił błąd: ", $e->getMessage();
  exit();
}
echo "Element o indeksie $index to $val.";
?>
