diff options
-rw-r--r-- | lib/common/FileStream.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/common/FileStream.cpp b/lib/common/FileStream.cpp index 89ae7a1f..8040cab4 100644 --- a/lib/common/FileStream.cpp +++ b/lib/common/FileStream.cpp @@ -11,6 +11,8 @@ #include "FileStream.h" #include "CommonException.h" +#include <errno.h> + #include "MemLeakFindOn.h" // -------------------------------------------------------------------------- @@ -36,7 +38,15 @@ FileStream::FileStream(const char *Filename, int flags, int mode) #endif { MEMLEAKFINDER_NOT_A_LEAK(this); - THROW_EXCEPTION(CommonException, OSFileOpenError) + + if(errno == EACCES) + { + THROW_EXCEPTION(CommonException, AccessDenied) + } + else + { + THROW_EXCEPTION(CommonException, OSFileOpenError) + } } #ifdef WIN32 this->fileName = Filename; |