handle errors internally

Reduces granularity
```$item = 1;```

Should we start from "0" according to [DOMNodeList documentation](http://php.net/manual/en/class.domnodelist.php):

> length
> The number of nodes in the list. The range of valid child node indices is 0 to length - 1 inclusive.