More SOLID design due to dedicated Exception
Errors while select()ing are now reported correctly
Improve coverage for Factory
Merge pull request #6 from clue/exception

Improve Exception handling