I've tried #1, and I have only seen it trigger once or twice... and IIRC, it 
was during library error case not when there was a read/write error by the 
library itself. It's not something I've spent a lot of time chasing, but I see 
the need too. The generic HDF5DotNet exceptions are only so helpful.

Anyway, here's the code:
        protected override void OnStart(string[] args)
        {
            try
            {
                mProcessStartInfo = new ProcessStartInfo(DPM_APP_FILE_NAME);
                mProcess = new Process();
               mProcess.StartInfo = mProcessStartInfo;
                // Set StdError (HDF error messages) to go to the Debug/Output 
Window
                try
                {
                    mProcess.StartInfo.UseShellExecute = false;
                    mProcess.StartInfo.RedirectStandardError = true;
                    mProcess.ErrorDataReceived += new 
System.Diagnostics.DataReceivedEventHandler(p_ErrorDataReceived);
                    mProcess.BeginErrorReadLine();
                }
                catch (Exception ex)
                {
                    // Note: this currently doesn't work for an unknown reason.
                    //  BeginErrorReadLine throws an InvalidOperationException 
"StandardError has not been redirected"
                    System.Diagnostics.Debug.WriteLine(ex.GetType().ToString() 
+ ": " + ex.Message);
                    DPM_EventLog.WriteEntry("Redirect StdErr " + 
ex.GetType().ToString() + ": " + ex.Message+". "+ex.StackTrace);
                }

                mProcess.Start();
            }
            catch (Exception ex)
            {
            }
        }

        static void p_ErrorDataReceived(object sender, 
System.Diagnostics.DataReceivedEventArgs e)
        {
            if (!string.IsNullOrEmpty(e.Data))
                System.Diagnostics.Debug.Write(e.Data + Environment.NewLine);
        }





Scott

From: Hdf-forum [mailto:[email protected]] On Behalf Of 
Rowe, Jim
Sent: Monday, December 01, 2014 7:23 PM
To: HDF Users Discussion List
Subject: [Hdf-forum] meaningful errors in hdf5dotnet?

Hello All, we have found the lack of meaningful exception handling in 
hdf5dotnet to be frustrating at best.
Short of the wrapper implementation improving, how can we get HDF5 error 
information?  Two approaches seem possible, but we can't get either to work:


1)      Capturing stdout/err, but that doesn't seem to propagate in the dll and 
it isn't clear how to get it.

2)      Using the H5E.setAuto method, but it isn't clear how to get the 
callback and clientdata pointers to work through the api.

Examples or suggestions would be greatly appreciated.

Thanks!

________________________________

This e-mail and any files transmitted with it may be proprietary and are 
intended solely for the use of the individual or entity to whom they are 
addressed. If you have received this e-mail in error please notify the sender. 
Please note that any views or opinions presented in this e-mail are solely 
those of the author and do not necessarily represent those of Exelis Inc. The 
recipient should check this e-mail and any attachments for the presence of 
viruses. Exelis Inc. accepts no liability for any damage caused by any virus 
transmitted by this e-mail.
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to