summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2016-07-13 14:42:44 -0400
committerNat Goodspeed <nat@lindenlab.com>2016-07-13 14:42:44 -0400
commit21e8352de6c4d662ffdb44d31294ce9caca86517 (patch)
tree3639deb347c5d0a067db460ccd9f690635494808
parent5b233bba3f885cd7f6202a70677d7ae2970bdfeb (diff)
MAINT-5011: Introduce KduError instead of throw/catch const char*.
KduError is derived from std::runtime_error, so the message string becomes its what() message.
-rw-r--r--indra/llkdu/llimagej2ckdu.cpp25
1 files changed, 16 insertions, 9 deletions
diff --git a/indra/llkdu/llimagej2ckdu.cpp b/indra/llkdu/llimagej2ckdu.cpp
index 94c7dbdd23..50c2e03cd4 100644
--- a/indra/llkdu/llimagej2ckdu.cpp
+++ b/indra/llkdu/llimagej2ckdu.cpp
@@ -34,6 +34,13 @@
#include "kdu_block_coding.h"
+#include <stdexcept>
+
+struct KduError: public std::runtime_error
+{
+ KduError(const std::string& msg): std::runtime_error(msg) {}
+};
+
class kdc_flow_control {
public:
@@ -171,7 +178,7 @@ void LLKDUMessageError::flush(bool end_of_message)
{
if (end_of_message)
{
- throw "KDU throwing an exception";
+ throw KduError("LLKDUMessageError::flush()");
}
}
@@ -415,9 +422,9 @@ BOOL LLImageJ2CKDU::initDecode(LLImageJ2C &base, LLImageRaw &raw_image, F32 deco
mTPosp->x = 0;
}
}
- catch (const char* msg)
+ catch (const KduError& msg)
{
- base.setLastError(ll_safe_string(msg));
+ base.setLastError(msg.what());
return FALSE;
}
catch (...)
@@ -505,9 +512,9 @@ BOOL LLImageJ2CKDU::decodeImpl(LLImageJ2C &base, LLImageRaw &raw_image, F32 deco
return FALSE;
}
}
- catch (const char* msg)
+ catch (const KduError& msg)
{
- base.setLastError(ll_safe_string(msg));
+ base.setLastError(msg.what());
base.decodeFailed();
cleanupCodeStream();
return TRUE; // done
@@ -698,9 +705,9 @@ BOOL LLImageJ2CKDU::encodeImpl(LLImageJ2C &base, const LLImageRaw &raw_image, co
base.updateData(); // set width, height
delete[] output_buffer;
}
- catch(const char* msg)
+ catch(const KduError& msg)
{
- base.setLastError(ll_safe_string(msg));
+ base.setLastError(msg.what());
return FALSE;
}
catch( ... )
@@ -722,9 +729,9 @@ BOOL LLImageJ2CKDU::getMetadata(LLImageJ2C &base)
setupCodeStream(base, FALSE, MODE_FAST);
return TRUE;
}
- catch (const char* msg)
+ catch (const KduError& msg)
{
- base.setLastError(ll_safe_string(msg));
+ base.setLastError(msg.what());
return FALSE;
}
catch (...)