[
https://issues.apache.org/jira/browse/LIBCLOUD-331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13666565#comment-13666565
]
Tomaz Muraus commented on LIBCLOUD-331:
---------------------------------------
I like the idea and agree that currently "LibcloudError" is used in too many
places and having something like "ProviderError" for provider errors would be
better.
How did you envision the class hierarchy - would this class inherit from
LibcloudError? This also implies how backward incompatible / breaking change
this is.
Also what would the existing "ContainerDoesntExist" and other errors inherit
from? This new class?
> proposal to add a new error type - ProviderError
> ------------------------------------------------
>
> Key: LIBCLOUD-331
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-331
> Project: Libcloud
> Issue Type: Improvement
> Components: Core
> Affects Versions: 0.12.3
> Reporter: Jayyy V
> Priority: Minor
>
> libcloud.common.base.Response constructor is handling failures of provider
> operations, this way
> if not self.success():
> raise Exception(self.parse_error())
> for eg., in ec2 driver the parse_error method is overridden to handle
> specific cases like invalid credentials, malformed responses but all other
> error cases produced by ec2 will be raised as Exception. Its too generic and
> we need a classification (ProviderError) to capture all the errors generated
> by a cloud provider.
> * libcloud.common.base.Response can use it
> if not self.success():
> raise ProviderError(self.parse_error())
> * specific errors of providers can be derived from it
> class InvalidCredsError(ProviderError):
> Also drivers that are having provider specific error types (eg.,
> SoftLayerException, LinodeException, HostVirtualException) can be extended
> from ProviderError. Currently its extending LibcloudError and since
> LibcloudError is inclusive of all internal stuffs, having a separate type for
> errors occured at provider side would simplify error handling for libcloud
> clients.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira