Throwing an exception is a bit overkill, isn't it ? I'd instead use `$this->webRootDir` by default.