Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfiles/PipingSoilLayerTransformer.cs =================================================================== diff -u -r8cdbb1c76ccda6f711ec3bb02339896e7eb660c0 -rc71efcd328d420bd869028dd35d035ff02d98ec2 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfiles/PipingSoilLayerTransformer.cs (.../PipingSoilLayerTransformer.cs) (revision 8cdbb1c76ccda6f711ec3bb02339896e7eb660c0) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfiles/PipingSoilLayerTransformer.cs (.../PipingSoilLayerTransformer.cs) (revision c71efcd328d420bd869028dd35d035ff02d98ec2) @@ -52,18 +52,28 @@ throw new ArgumentNullException(nameof(soilLayer)); } - ValidateStochasticParameters(soilLayer); - - var pipingSoilLayer = new PipingSoilLayer(soilLayer.Top) + try { - IsAquifer = TransformIsAquifer(soilLayer.IsAquifer), - MaterialName = soilLayer.MaterialName, - Color = SoilLayerColorConverter.Convert(soilLayer.Color) - }; + ValidateStochasticParameters(soilLayer); - SetStochasticParameters(pipingSoilLayer, soilLayer); + var pipingSoilLayer = new PipingSoilLayer(soilLayer.Top) + { + IsAquifer = TransformIsAquifer(soilLayer.IsAquifer), + MaterialName = soilLayer.MaterialName, + Color = SoilLayerColorConverter.Convert(soilLayer.Color) + }; - return pipingSoilLayer; + SetStochasticParameters(pipingSoilLayer, soilLayer); + + return pipingSoilLayer; + } + catch (ImportedDataTransformException e) + { + string errorMessage = string.Format(RingtoetsCommonIOResources.Transform_Error_occurred_when_transforming_SoilLayer_0_errorMessage_1, + soilLayer.MaterialName, + e.Message); + throw new ImportedDataTransformException(errorMessage, e); + } } /// @@ -78,11 +88,20 @@ /// in a valid transformed instance. public static IEnumerable Transform(SoilLayer2D soilLayer, double atX, out double bottom) { - bottom = double.MaxValue; - - var soilLayers = new Collection(); - Transform(soilLayer, atX, soilLayers, ref bottom); - return soilLayers; + try + { + bottom = double.MaxValue; + var soilLayers = new Collection(); + Transform(soilLayer, atX, soilLayers, ref bottom); + return soilLayers; + } + catch (ImportedDataTransformException e) + { + string errorMessage = string.Format(RingtoetsCommonIOResources.Transform_Error_occurred_when_transforming_SoilLayer_0_errorMessage_1, + soilLayer.MaterialName, + e.Message); + throw new ImportedDataTransformException(errorMessage, e); + } } /// @@ -173,18 +192,18 @@ /// Sets the values of the stochastic parameters for the given . /// /// The to set the property values for. - /// The to get the properties from. + /// The to get the properties from. /// This method does not perform validation. Use to /// verify whether the distributions for the stochastic parameters are correctly defined. - private static void SetStochasticParameters(PipingSoilLayer pipingSoilLayer, SoilLayerBase soilLayer1D) + private static void SetStochasticParameters(PipingSoilLayer pipingSoilLayer, SoilLayerBase soilLayer) { - pipingSoilLayer.BelowPhreaticLevelMean = soilLayer1D.BelowPhreaticLevelMean; - pipingSoilLayer.BelowPhreaticLevelDeviation = soilLayer1D.BelowPhreaticLevelDeviation; - pipingSoilLayer.BelowPhreaticLevelShift = soilLayer1D.BelowPhreaticLevelShift; - pipingSoilLayer.DiameterD70Mean = soilLayer1D.DiameterD70Mean; - pipingSoilLayer.DiameterD70CoefficientOfVariation = soilLayer1D.DiameterD70CoefficientOfVariation; - pipingSoilLayer.PermeabilityMean = soilLayer1D.PermeabilityMean; - pipingSoilLayer.PermeabilityCoefficientOfVariation = soilLayer1D.PermeabilityCoefficientOfVariation; + pipingSoilLayer.BelowPhreaticLevelMean = soilLayer.BelowPhreaticLevelMean; + pipingSoilLayer.BelowPhreaticLevelDeviation = soilLayer.BelowPhreaticLevelDeviation; + pipingSoilLayer.BelowPhreaticLevelShift = soilLayer.BelowPhreaticLevelShift; + pipingSoilLayer.DiameterD70Mean = soilLayer.DiameterD70Mean; + pipingSoilLayer.DiameterD70CoefficientOfVariation = soilLayer.DiameterD70CoefficientOfVariation; + pipingSoilLayer.PermeabilityMean = soilLayer.PermeabilityMean; + pipingSoilLayer.PermeabilityCoefficientOfVariation = soilLayer.PermeabilityCoefficientOfVariation; } private static bool HeightInInnerLoop(Tuple tuple, double height)