X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fmemory.cpp;h=f89d9fc894c26d207e6e3b8300d9f9dc99c6f7ae;hp=6ea130b54ae134478ab40851f4c49cf1d68ad439;hb=31e72f50fbb34d86877e5110401c49ce3fefd4bb;hpb=6e0fd758970bcb5bad5e3f2454b694cc4d7b4b66 diff --git a/source/io/memory.cpp b/source/io/memory.cpp index 6ea130b..f89d9fc 100644 --- a/source/io/memory.cpp +++ b/source/io/memory.cpp @@ -1,6 +1,6 @@ #include #include -#include "except.h" +#include "handle.h" #include "memory.h" using namespace std; @@ -98,29 +98,24 @@ unsigned Memory::seek(int off, SeekType type) else if(type==S_END) new_pos = end+off; else - throw InvalidParameterValue("Invalid seek type"); + throw invalid_argument("Memory::seek"); if(new_posend) - throw InvalidParameterValue("Invalid seek offset"); + throw out_of_range("Memory::seek"); pos = new_pos; return pos-begin; } -Handle Memory::get_event_handle() +const Handle &Memory::get_event_handle() { - throw Exception("Memory doesn't support events"); + throw logic_error("Memory doesn't support events"); } void Memory::check_mode(Mode m) const { - if(m==M_WRITE) - { - if(!(mode&M_WRITE)) - throw InvalidState("Memory is not writable"); - if(pos==end) - throw InvalidState("Attempt to write past end of Memory"); - } + if(m==M_WRITE && !(mode&M_WRITE)) + throw invalid_access(M_WRITE); } } // namespace IO