I have a Save button, so when users click, it will save the xml file (xml serialization). Savefiledialog is used here, and when I click cancel without selecting any files, an “Exception Argument” occurs and says: “An empty path is not legal”. How can I handle this exception? I would like the form to remain the same even without any path selected in the savefiledialog file. Thank you very much.
My savefiledialog snippet:
private void SaveButton_Click(object sender, RoutedEventArgs e) { string savepath; SaveFileDialog DialogSave = new SaveFileDialog(); // Default file extension DialogSave.DefaultExt = "txt"; // Available file extensions DialogSave.Filter = "XML file (*.xml)|*.xml|All files (*.*)|*.*"; // Adds a extension if the user does not DialogSave.AddExtension = true; // Restores the selected directory, next time DialogSave.RestoreDirectory = true; // Dialog title DialogSave.Title = "Where do you want to save the file?"; // Startup directory DialogSave.InitialDirectory = @"C:/"; DialogSave.ShowDialog(); savepath = DialogSave.FileName; DialogSave.Dispose(); DialogSave = null; ... using (Stream savestream = new FileStream(savepath, FileMode.Create)) { XmlSerializer serializer = new XmlSerializer(typeof(FormSaving)); serializer.Serialize(savestream, formsaving); } }
An exception to my argument occurs on this line:
using (Stream savestream = new FileStream(savepath, FileMode.Create)) { XmlSerializer serializer = new XmlSerializer(typeof(FormSaving)); serializer.Serialize(savestream, formsaving); }
source share