summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHubert Figuiere <hub@figuiere.net>2007-06-06 22:25:33 -0400
committerHubert Figuiere <hub@figuiere.net>2007-06-06 22:25:33 -0400
commitcd265102515ee1ae3e67b8ca3878238d6e063edc (patch)
treed83ba86344f2302a64405c02a36209d0b6134d46
parent091fc105da0eb1bbcb5d5db38a7f0c123ebbde3e (diff)
* exempi/exempi.cpp: Added more exception catching.exempi-1.99.1
-rw-r--r--ChangeLog2
-rw-r--r--exempi/exempi.cpp33
2 files changed, 30 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index f29668b..3767118 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2007-06-06 Hubert Figuiere <hub@figuiere.net>
+ * exempi/exempi.cpp: Added more exception catching.
+
* exempi/xmpconsts.h: Added NS_CC namespace
* exempi/exempi.cpp (xmp_register_namespace): wrapped
diff --git a/exempi/exempi.cpp b/exempi/exempi.cpp
index d0915da..8ad61f7 100644
--- a/exempi/exempi.cpp
+++ b/exempi/exempi.cpp
@@ -166,7 +166,13 @@ void xmp_files_put_xmp(XmpFilePtr xf, XmpPtr xmp)
{
SXMPFiles *txf = (SXMPFiles*)xf;
- txf->PutXMP(*(SXMPMeta*)xmp);
+ try {
+ txf->PutXMP(*(SXMPMeta*)xmp);
+ }
+ catch(const XMP_Error & e)
+ {
+ std::cerr << e.GetErrMsg() << std::endl;
+ }
}
@@ -176,7 +182,9 @@ void xmp_files_free(XmpFilePtr xf)
try {
delete txf;
}
- catch(...) {
+ catch(const XMP_Error & e)
+ {
+ std::cerr << e.GetErrMsg() << std::endl;
}
}
@@ -190,7 +198,15 @@ XmpPtr xmp_new_empty()
XmpPtr xmp_new(const char *buffer, size_t len)
{
- SXMPMeta *txmp = new SXMPMeta(buffer, len);
+ SXMPMeta *txmp;
+ try {
+ txmp = new SXMPMeta(buffer, len);
+ }
+ catch(const XMP_Error & e)
+ {
+ std::cerr << e.GetErrMsg() << std::endl;
+ return NULL;
+ }
return (XmpPtr)txmp;
}
@@ -200,8 +216,9 @@ bool xmp_parse(XmpPtr xmp, const char *buffer, size_t len)
try {
txmp->ParseFromBuffer(buffer, len, kXMP_RequireXMPMeta );
}
- catch(...)
+ catch(const XMP_Error & e)
{
+ std::cerr << e.GetErrMsg() << std::endl;
return false;
}
return true;
@@ -237,7 +254,13 @@ void xmp_set_property(XmpPtr xmp, const char *schema,
{
SXMPMeta *txmp = (SXMPMeta *)xmp;
XMP_OptionBits options = 0;
- txmp->SetProperty(schema, name, value, options);
+ try {
+ txmp->SetProperty(schema, name, value, options);
+ }
+ catch(const XMP_Error & e)
+ {
+ std::cerr << e.GetErrMsg() << std::endl;
+ }
}