Index: /trunk/Mars/mdrs/MDrsCalibration.h
===================================================================
--- /trunk/Mars/mdrs/MDrsCalibration.h	(revision 18143)
+++ /trunk/Mars/mdrs/MDrsCalibration.h	(revision 18144)
@@ -30,13 +30,25 @@
     }
 
-    bool ReadFits(TString str)
+    bool ReadFits(const TString &str)
     {
         gSystem->ExpandPathName(str);
 
-        const std::string msg = ReadFitsImp(str.Data());
+        string msg;
+        try
+        {
+            msg = ReadFitsImp(str.Data());
+        }
+        catch (const exception &e)
+        {
+            msg = e.what();
+        }
+
         if (msg.empty())
+        {
+            *fLog << inf << "Read DRS calibration file " << fname << endl;
             return true;
+        }
 
-        *fLog << err << msg << std::endl;
+        *fLog << err << "Error reading from " << fname << ": " << msg << endl;
         return false;
     }
Index: /trunk/Mars/mdrs/MDrsCalibrationTime.cc
===================================================================
--- /trunk/Mars/mdrs/MDrsCalibrationTime.cc	(revision 18143)
+++ /trunk/Mars/mdrs/MDrsCalibrationTime.cc	(revision 18144)
@@ -51,13 +51,22 @@
 bool MDrsCalibrationTime::ReadFits(const string &fname)
 {
-    const std::string msg = DrsCalibrateTime::ReadFitsImp(fname);
+    string msg;
+    try
+    {
+        msg = DrsCalibrateTime::ReadFitsImp(fname);
+    }
+    catch (const exception &e)
+    {
+        msg = e.what();
+    }
+
     if (msg.empty())
     {
-        *fLog << inf << "Wrote DRS calibration file " << fname << endl;
-        return kTRUE;
+        *fLog << inf << "Read DRS calibration file " << fname << endl;
+        return true;
     }
 
-    *fLog << err << "Error writing to " << fname << ": " << msg << endl;
-    return kFALSE;
+    *fLog << err << "Error reading from " << fname << ": " << msg << endl;
+    return false;
 }
 
@@ -68,15 +77,24 @@
     {
         *fLog << err << "File '" << fname << "' already exists." << endl;
-        return kFALSE;
+        return false;
     }
 
-    const std::string msg = DrsCalibrateTime::WriteFitsImp(fname);
+    string msg;
+    try
+    {
+        msg = DrsCalibrateTime::WriteFitsImp(fname);
+    }
+    catch (const exception &e)
+    {
+        msg = e.what();
+    }
+
     if (msg.empty())
     {
         *fLog << inf << "Wrote DRS calibration file " << fname << endl;
-        return kTRUE;
+        return true;
     }
 
     *fLog << err << "Error writing to " << fname << ": " << msg << endl;
-    return kFALSE;
+    return false;
 }
