From 8a62287f5fb8272aa5bf2a3816d15968caca845d Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Mon, 5 Nov 2012 17:59:45 +0100 Subject: [PATCH] Fix some error handling stuff --- pytahoe/__init__.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pytahoe/__init__.py b/pytahoe/__init__.py index fcedd09..5a1b6ce 100644 --- a/pytahoe/__init__.py +++ b/pytahoe/__init__.py @@ -13,16 +13,22 @@ else: fs_available = True -class FilesystemException(Exception): +class PytahoeException(Exception): pass -class ObjectException(Exception): +class FilesystemException(PytahoeException): pass -class UploadException(Exception): +class ObjectException(PytahoeException): pass -class DependencyException(Exception): +class UploadException(PytahoeException): + pass + +class DependencyException(PytahoeException): + pass + +class MountException(PytahoeException): pass class Filesystem: @@ -180,6 +186,10 @@ class Directory: return dokan.mount(fs, mountpoint) except OSError: raise DependencyException("Could not mount the directory because both the FUSE and dokan libraries are unavailable.") + except RuntimeError, e: + raise MountException("Could not mount the directory because a dokan error was encountered: %s" % e.message) + except RuntimeError, e: + raise MountException("Could not mount the directory because a FUSE error was encountered: %s" % e.message) def upload(self, filedata, filename=None): if filename is None: