This adds a custom exception class with an error type that can be more easily used by clients. It also explicitly handles failed connections as such. closes #9
This adds a custom exception class with an error type that can be more easily used by clients. It also explicitly handles failed connections as such. closes #9