We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Exception handling

I have an OnChangeHandler for a GridListControl: private void ManagedObjects_SelectedValueChanged(object sender, System.EventArgs e) { DoSomething(); } In the DoSomething() call an exception is thrown (System.IO.FileNotFoundException), but I did not get the standard Debug "unhandled exception message box". Examing the debug output window, I can see that this exception is being caught by the grid. My question is, is this expected behavior? Also, the application simply locked up and had to be end tasked to exit. Apparently the catch hanlder that is catching this exception is not handling it gracefully. Adding a try catch block seems to solve the lock up issue, and I realize that I will have to handle all exceptions that are thrown, it was just a bit confusing to have it caught by the component. I guess it also means that all hanlders should be enclosed in try, catch blocks.. ? From Output Windows: System.IO.FileNotFoundException: Could not find file "C:\Projects\DataTable\bin\Debug\X_SPP_CUSTOMER_SURVEY.xml". File name: "C:\Projects\DataTable\bin\Debug\X_SPP_CUSTOMER_SURVEY.xml" at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials) at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn) at System.Xml.XmlTextReader.CreateScanner() at System.Xml.XmlTextReader.Init() at System.Xml.XmlTextReader.Read() at System.Xml.XmlReader.MoveToContent() at System.Data.DataSet.ReadXml(XmlReader reader) at System.Data.DataSet.ReadXml(String fileName) at CamSchemaBuilder.SchemaBuilder.ReadCamFields(String TableName, CamSchema SPPSchema) in c:\projects\datatable\schemabuilder.cs:line 219 at CamSchemaBuilder.DBObjectBuilder.ManagedObjects_SelectedValueChanged(Object sender, EventArgs e) in c:\projects\datatable\dbobjectbuilder.cs:line 325 at System.Windows.Forms.ListControl.OnSelectedValueChanged(EventArgs e) at Syncfusion.Windows.Forms.Grid.GridListControl.OnSelectedValueChanged(EventArgs e) at System.Windows.Forms.ListControl.OnSelectedIndexChanged(EventArgs e) at Syncfusion.Windows.Forms.Grid.GridListControl.OnSelectedIndexChanged(EventArgs e) at Syncfusion.Windows.Forms.Grid.GridListControl.set_SelectedIndex(Int32 value) at Syncfusion.Windows.Forms.Grid.GridListControl.GridCurrentCellActivated(Object sender, EventArgs e) at Syncfusion.Windows.Forms.Grid.GridControlBase.OnCurrentCellActivated(EventArgs e) at Syncfusion.Windows.Forms.Grid.GridControlBase.RaiseCurrentCellActivated() at Syncfusion.Windows.Forms.Grid.GridCurrentCell.Activate(Int32 rowIndex, Int32 colIndex, GridSetCurrentCellOptions options) at Syncfusion.Windows.Forms.Grid.GridCurrentCell.MoveTo(Int32 rowIndex, Int32 colIndex, GridSetCurrentCellOptions options, Boolean discardChanges) at Syncfusion.Windows.Forms.Grid.GridCurrentCell.MoveTo(Int32 rowIndex, Int32 colIndex, GridSetCurrentCellOptions options) at Syncfusion.Windows.Forms.Grid.Internal.GridSelectCellsMouseController.MouseDown(MouseEventArgs e) at Syncfusion.Windows.Forms.MouseControllerDispatcher.ProcessMouseDown(MouseEventArgs e) at Syncfusion.Windows.Forms.ScrollControllMouseControllerDispatcher.ScrollControlBeforeMouseDown(Object sender, CancelMouseEventArgs e) at Syncfusion.Windows.Forms.CancelMouseEventHandler.Invoke(Object sender, CancelMouseEventArgs e) at Syncfusion.Windows.Forms.ScrollControl.OnBeforeScrollControlMouseDown(CancelMouseEventArgs e) at Syncfusion.Windows.Forms.Grid.GridControlBase.OnBeforeScrollControlMouseDown(CancelMouseEventArgs e) at Syncfusion.Windows.Forms.ScrollControl.RaiseCancelMouseEvent(MouseEventArgs e, CancelMouseDelegate d) catched at Syncfusion.Windows.Forms.ScrollControl.RaiseCancelMouseEvent(MouseEventArgs e, CancelMouseDelegate d) in :line 0

3 Replies

AD Administrator Syncfusion Team February 5, 2003 07:39 PM UTC

Hi Shawn, the grid needs to catch quite a few exceptions, otherwise the drawing or moving the current cell would get too messed up. That said, we see that the current practice that we have implemented with catching these exceptions has quite a few disadvantages and you should expect a change with this design in the 2.0 version. We'll provide them some kind of hook that will let you handle exceptions or enforce having exceptions fall through all the way. So, for now you would have to enclose your DoSomething call with your own try/catch exception block. Stefan

KL Kenny Louie April 6, 2005 06:50 PM UTC

Is there allow to allow the exceptions through the grid yet?

AD Administrator Syncfusion Team April 6, 2005 07:10 PM UTC

Here is a KB on how to manage exceptions in the grid. http://www.syncfusion.com/support/kb/grid/Default.aspx?ToDo=view&questId=11&catId=2

Live Chat Icon For mobile
Up arrow icon