Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvExportData.cs =================================================================== diff -u -r4384 -r4388 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvExportData.cs (.../CsvExportData.cs) (revision 4384) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvExportData.cs (.../CsvExportData.cs) (revision 4388) @@ -220,7 +220,7 @@ string fullFilename = DamProject.ProjectWorkingPath; if (string.IsNullOrEmpty(CalculationSubDir)) { - throw new ArgumentNullException(nameof(CalculationSubDir)); + throw new CsvExporterException(nameof(CalculationSubDir) + " is null or empty."); } fullFilename = Path.Combine(fullFilename, CalculationSubDir); @@ -1635,7 +1635,8 @@ { get { - if (damFailureMechanismeCalculationSpecification.FailureMechanismSystemType == FailureMechanismSystemType.Piping) + if (damFailureMechanismeCalculationSpecification != null && + damFailureMechanismeCalculationSpecification.FailureMechanismSystemType == FailureMechanismSystemType.Piping) { return damFailureMechanismeCalculationSpecification.PipingModelType; } Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvExporterTest.cs =================================================================== diff -u -r4070 -r4388 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvExporterTest.cs (.../CsvExporterTest.cs) (revision 4070) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvExporterTest.cs (.../CsvExporterTest.cs) (revision 4388) @@ -36,6 +36,15 @@ { Assert.That(() => new CsvExporter(null, null), Throws.InstanceOf()); } + + [Test] + public void ThrowWhenCalculationSubDirIsNull() + { + var exportData = new CsvExportData("locatioName", "scenarioName"); + exportData.BaseFileName = "base"; + exportData.CalculationSubDir = ""; + Assert.That(() => exportData.GetDesignResultFile(), Throws.InstanceOf()); + } [Test] public void ThrowWhenFileNameIsNullOrEmpty() Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs =================================================================== diff -u -r4384 -r4388 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 4384) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 4388) @@ -36,6 +36,15 @@ namespace Deltares.Dam.Data.DamEngineIo; /// +/// Exception class for FillDamUiFromXmlOutput +/// +public class FillDamUiFromXmlOutputException : ApplicationException +{ + public FillDamUiFromXmlOutputException(string message) + : base(message) {} +} + +/// /// Class to support the conversion of XmlOutput (as provided by the Engine) to DamUI objects. /// public class FillDamUiFromXmlOutput @@ -431,12 +440,12 @@ if (string.IsNullOrEmpty(desResult.CalculationSubDir) && (desResult.CalculationResult != CalculationResult.RunFailed) && (desResult.CalculationResult != CalculationResult.UnexpectedError)) { - throw new ArgumentNullException(nameof(desResult.CalculationSubDir)); + throw new FillDamUiFromXmlOutputException(nameof(desResult.CalculationSubDir) + " is null or empty."); } if (string.IsNullOrEmpty(desResult.BaseFileName)) { - throw new ArgumentNullException(nameof(desResult.BaseFileName)); + throw new FillDamUiFromXmlOutputException(nameof(desResult.BaseFileName) + " is null or empty."); } if ((desResult.CalculationResult != CalculationResult.RunFailed) &&