<?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.";
?>
