diff options
author | Marco Rossignoli <marco.rossignoli@gmail.com> | 2017-12-28 21:30:46 +0300 |
---|---|---|
committer | Santiago Fernandez Madero <safern@microsoft.com> | 2017-12-28 21:30:46 +0300 |
commit | 0101324f1ac8555c910bbbfb46c511bb86f0fbe4 (patch) | |
tree | 48b711825aed4db8ec1286fceb0a319ec56fddb2 /src/System.ComponentModel.TypeConverter | |
parent | baa9ed4587f0ba2ee60189246f66c24d46c2cfbf (diff) |
"Don't directly throw Exception" System.ComponentModel.TypeConverter (#26050)
* Don't directly throw Exception
* Don't directly throw Exception
Diffstat (limited to 'src/System.ComponentModel.TypeConverter')
15 files changed, 40 insertions, 47 deletions
diff --git a/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs b/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs index 69b7487cf7..7de41df285 100644 --- a/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs +++ b/src/System.ComponentModel.TypeConverter/src/System/ComponentModel/BaseNumberConverter.cs @@ -34,15 +34,7 @@ namespace System.ComponentModel /// Convert the given value to a string using the given formatInfo /// </summary> internal abstract object FromString(string value, NumberFormatInfo formatInfo); - - /// <summary> - /// Create an error based on the failed text and the exception thrown. - /// </summary> - internal virtual Exception FromStringError(string failedText, Exception innerException) - { - return new Exception(SR.Format(SR.ConvertInvalidPrimitive, failedText, TargetType.Name), innerException); - } - + /// <summary> /// Convert the given value from a string using the given formatInfo /// </summary> @@ -90,7 +82,7 @@ namespace System.ComponentModel } catch (Exception e) { - throw FromStringError(text, e); + throw new ArgumentException(SR.Format(SR.ConvertInvalidPrimitive, text, TargetType.Name), nameof(value), e); } } return base.ConvertFrom(context, culture, value); diff --git a/src/System.ComponentModel.TypeConverter/tests/ByteConvertersTests.cs b/src/System.ComponentModel.TypeConverter/tests/ByteConvertersTests.cs index e4efa9563c..fcc13e4ce0 100644 --- a/src/System.ComponentModel.TypeConverter/tests/ByteConvertersTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/ByteConvertersTests.cs @@ -53,7 +53,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => ByteConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "8.0")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/DecimalConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/DecimalConverterTests.cs index 298e6b7ac7..f579e30089 100644 --- a/src/System.ComponentModel.TypeConverter/tests/DecimalConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/DecimalConverterTests.cs @@ -25,8 +25,8 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( - () => DecimalConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "0x8")); + AssertExtensions.Throws<ArgumentException, Exception>( + () => DecimalConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "0x8")); } [Fact] diff --git a/src/System.ComponentModel.TypeConverter/tests/DoubleConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/DoubleConverterTests.cs index 9b1536b7da..315f2f1a80 100644 --- a/src/System.ComponentModel.TypeConverter/tests/DoubleConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/DoubleConverterTests.cs @@ -25,7 +25,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => DoubleConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "0x8")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/Drawing/ColorConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/Drawing/ColorConverterTests.cs index fef8e7bddc..ed463c4752 100644 --- a/src/System.ComponentModel.TypeConverter/tests/Drawing/ColorConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/Drawing/ColorConverterTests.cs @@ -76,7 +76,7 @@ namespace System.ComponentModel.TypeConverterTests { for (int b = 0; b < 256; b += 67) { - yield return new object[] {a, r, g, b}; + yield return new object[] { a, r, g, b }; } } } @@ -86,25 +86,25 @@ namespace System.ComponentModel.TypeConverterTests public static IEnumerable<object[]> ColorNames => typeof(Color).GetProperties() .Where(p => p.PropertyType == typeof(Color)) - .Select(p => new object[] { p.Name} ); + .Select(p => new object[] { p.Name }); [Theory] [MemberData(nameof(ColorData))] public void ConvertFrom(int a, int r, int g, int b) { var conv = new ColorConverter(); - Color color = (Color) conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"#0x{a:x2}{r:x2}{g:x2}{b:x2}"); + Color color = (Color)conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"#0x{a:x2}{r:x2}{g:x2}{b:x2}"); Assert.Equal(a, color.A); Assert.Equal(r, color.R); Assert.Equal(g, color.G); Assert.Equal(b, color.B); Assert.Equal(color, - (Color) conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"#0X{a:x2}{r:x2}{g:x2}{b:x2}")); + (Color)conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"#0X{a:x2}{r:x2}{g:x2}{b:x2}")); Assert.Equal(color, - (Color) conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"0x{a:x2}{r:x2}{g:x2}{b:x2}")); + (Color)conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"0x{a:x2}{r:x2}{g:x2}{b:x2}")); Assert.Equal(color, - (Color) conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"0X{a:x2}{r:x2}{g:x2}{b:x2}")); + (Color)conv.ConvertFrom(null, CultureInfo.InvariantCulture, $"0X{a:x2}{r:x2}{g:x2}{b:x2}")); } [Theory] @@ -146,8 +146,8 @@ namespace System.ComponentModel.TypeConverterTests { var conv = new ColorConverter(); var color = Color.FromName(name); - Assert.Equal(color, (Color) conv.ConvertFrom(name)); - Assert.Equal(color, (Color) conv.ConvertFrom(" " + name + " ")); + Assert.Equal(color, (Color)conv.ConvertFrom(name)); + Assert.Equal(color, (Color)conv.ConvertFrom(" " + name + " ")); } [Fact] @@ -155,8 +155,8 @@ namespace System.ComponentModel.TypeConverterTests { var conv = new ColorConverter(); var color = Color.Empty; - Assert.Equal(color, (Color) conv.ConvertFrom(string.Empty)); - Assert.Equal(color, (Color) conv.ConvertFrom(" ")); + Assert.Equal(color, (Color)conv.ConvertFrom(string.Empty)); + Assert.Equal(color, (Color)conv.ConvertFrom(" ")); } [Theory] @@ -177,7 +177,7 @@ namespace System.ComponentModel.TypeConverterTests public void ConvertFrom_Exception(string value) { var conv = new ColorConverter(); - Assert.Throws<Exception>(() => + AssertExtensions.Throws<ArgumentException, Exception>(() => { conv.ConvertFrom(null, CultureInfo.InvariantCulture, value); }); @@ -208,7 +208,7 @@ namespace System.ComponentModel.TypeConverterTests public void ConvertFrom_NullCulture() { var conv = new ColorConverter(); - var color = (Color) conv.ConvertFrom(null, null, "#0x23190A44"); + var color = (Color)conv.ConvertFrom(null, null, "#0x23190A44"); Assert.Equal(35, color.A); Assert.Equal(25, color.R); Assert.Equal(10, color.G); @@ -221,7 +221,7 @@ namespace System.ComponentModel.TypeConverterTests { var conv = new ColorConverter(); Assert.Equal($"{a}, {r}, {g}, {b}", - (string) conv.ConvertTo(null, CultureInfo.InvariantCulture, Color.FromArgb(a, r, g, b), typeof(string))); + (string)conv.ConvertTo(null, CultureInfo.InvariantCulture, Color.FromArgb(a, r, g, b), typeof(string))); } [Theory] @@ -230,7 +230,7 @@ namespace System.ComponentModel.TypeConverterTests { var conv = new ColorConverter(); Assert.Equal(name, - (string) conv.ConvertTo(null, CultureInfo.InvariantCulture, Color.FromName(name), typeof(string))); + (string)conv.ConvertTo(null, CultureInfo.InvariantCulture, Color.FromName(name), typeof(string))); } [Fact] @@ -238,7 +238,7 @@ namespace System.ComponentModel.TypeConverterTests { var conv = new ColorConverter(); Assert.Equal(string.Empty, - (string) conv.ConvertTo(null, CultureInfo.InvariantCulture, Color.Empty, typeof(string))); + (string)conv.ConvertTo(null, CultureInfo.InvariantCulture, Color.Empty, typeof(string))); } [Theory] @@ -306,7 +306,7 @@ namespace System.ComponentModel.TypeConverterTests public void ConvertFromInvariantString(int a, int r, int g, int b) { var conv = new ColorConverter(); - var color = (Color) conv.ConvertFromInvariantString($"{a}, {r}, {g}, {b}"); + var color = (Color)conv.ConvertFromInvariantString($"{a}, {r}, {g}, {b}"); Assert.Equal(a, color.A); Assert.Equal(r, color.R); Assert.Equal(g, color.G); @@ -319,7 +319,7 @@ namespace System.ComponentModel.TypeConverterTests { var conv = new ColorConverter(); var color = Color.FromName(name); - Assert.Equal(color, (Color) conv.ConvertFromInvariantString(name)); + Assert.Equal(color, (Color)conv.ConvertFromInvariantString(name)); } [Fact] @@ -336,7 +336,7 @@ namespace System.ComponentModel.TypeConverterTests public void ConvertFromInvariantString_NotNumber() { var conv = new ColorConverter(); - var ex = Assert.Throws<Exception>(() => + var ex = AssertExtensions.Throws<ArgumentException, Exception>(() => { conv.ConvertFromInvariantString("hello"); }); @@ -365,7 +365,7 @@ namespace System.ComponentModel.TypeConverterTests { var conv = new ColorConverter(); var color = Color.FromName(name); - Assert.Equal(color, (Color) conv.ConvertFromString(name)); + Assert.Equal(color, (Color)conv.ConvertFromString(name)); } [Fact] @@ -382,7 +382,7 @@ namespace System.ComponentModel.TypeConverterTests public void ConvertFromString_NotNumber() { var conv = new ColorConverter(); - var ex = Assert.Throws<Exception>(() => + var ex = AssertExtensions.Throws<ArgumentException, Exception>(() => { conv.ConvertFromString("hello"); }); diff --git a/src/System.ComponentModel.TypeConverter/tests/Drawing/StringTypeConverterTestBase.cs b/src/System.ComponentModel.TypeConverter/tests/Drawing/StringTypeConverterTestBase.cs index 5bb03f7bb6..f8c7f2182c 100644 --- a/src/System.ComponentModel.TypeConverter/tests/Drawing/StringTypeConverterTestBase.cs +++ b/src/System.ComponentModel.TypeConverter/tests/Drawing/StringTypeConverterTestBase.cs @@ -88,7 +88,7 @@ namespace System.ComponentModel.TypeConverterTests protected void ConvertFromThrowsFormatInnerExceptionForString(string value) { - var ex = Assert.Throws<Exception>(() => + var ex = AssertExtensions.Throws<ArgumentException, Exception>(() => { Converter.ConvertFrom(null, CultureInfo.InvariantCulture, value); }); @@ -145,7 +145,7 @@ namespace System.ComponentModel.TypeConverterTests protected void ConvertFromInvariantStringThrowsFormatInnerException(string str) { - var ex = Assert.Throws<Exception>(() => + var ex = AssertExtensions.Throws<ArgumentException, Exception>(() => { Converter.ConvertFromInvariantString(str); }); @@ -163,7 +163,7 @@ namespace System.ComponentModel.TypeConverterTests protected void ConvertFromStringThrowsFormatInnerException(string str) { - var ex = Assert.Throws<Exception>(() => + var ex = AssertExtensions.Throws<ArgumentException, Exception>(() => { Converter.ConvertFromString(str); }); diff --git a/src/System.ComponentModel.TypeConverter/tests/Int16ConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/Int16ConverterTests.cs index 863ee193df..b8c7ecfe21 100644 --- a/src/System.ComponentModel.TypeConverter/tests/Int16ConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/Int16ConverterTests.cs @@ -26,8 +26,8 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( - () => Int16ConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "8.0")); + AssertExtensions.Throws<ArgumentException, Exception>( + () => Int16ConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "8.0")); } [Fact] diff --git a/src/System.ComponentModel.TypeConverter/tests/Int32ConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/Int32ConverterTests.cs index 5cdb8bfdf4..2626f83768 100644 --- a/src/System.ComponentModel.TypeConverter/tests/Int32ConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/Int32ConverterTests.cs @@ -26,7 +26,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => Int32ConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "8.0")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/Int64ConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/Int64ConverterTests.cs index fe00955951..5ca1b6ccc3 100644 --- a/src/System.ComponentModel.TypeConverter/tests/Int64ConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/Int64ConverterTests.cs @@ -26,7 +26,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => Int64ConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "8.0")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/PropertyDescriptorTests.cs b/src/System.ComponentModel.TypeConverter/tests/PropertyDescriptorTests.cs index 956188736d..cf6a7bec7a 100644 --- a/src/System.ComponentModel.TypeConverter/tests/PropertyDescriptorTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/PropertyDescriptorTests.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.Reflection; using Xunit; namespace System.ComponentModel.Tests @@ -104,7 +105,7 @@ namespace System.ComponentModel.Tests var properties = TypeDescriptor.GetProperties(component.GetType()); PropertyDescriptor propertyDescriptor = properties.Find(nameof(component.PropertyWhichThrows), false); - Assert.ThrowsAny<Exception>(() => propertyDescriptor.GetValue(component)); + Assert.Throws<TargetInvocationException>(() => propertyDescriptor.GetValue(component)); } [Fact] diff --git a/src/System.ComponentModel.TypeConverter/tests/SByteConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/SByteConverterTests.cs index d208e72ca3..75a7a39ce5 100644 --- a/src/System.ComponentModel.TypeConverter/tests/SByteConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/SByteConverterTests.cs @@ -26,7 +26,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => SByteConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "8.0")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/SingleConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/SingleConverterTests.cs index 094551c132..2498af08be 100644 --- a/src/System.ComponentModel.TypeConverter/tests/SingleConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/SingleConverterTests.cs @@ -25,7 +25,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => SingleConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "0x8")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/UInt16ConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/UInt16ConverterTests.cs index 4cc91bb931..6f2ac18a0b 100644 --- a/src/System.ComponentModel.TypeConverter/tests/UInt16ConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/UInt16ConverterTests.cs @@ -26,7 +26,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => UInt16ConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "-8")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/UInt32ConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/UInt32ConverterTests.cs index 0198f9f28e..a1d1eeff4d 100644 --- a/src/System.ComponentModel.TypeConverter/tests/UInt32ConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/UInt32ConverterTests.cs @@ -26,7 +26,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => UInt32ConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "-8")); } diff --git a/src/System.ComponentModel.TypeConverter/tests/UInt64ConverterTests.cs b/src/System.ComponentModel.TypeConverter/tests/UInt64ConverterTests.cs index f8ffbd2df2..bdbb9ad888 100644 --- a/src/System.ComponentModel.TypeConverter/tests/UInt64ConverterTests.cs +++ b/src/System.ComponentModel.TypeConverter/tests/UInt64ConverterTests.cs @@ -26,7 +26,7 @@ namespace System.ComponentModel.Tests [Fact] public static void ConvertFrom_WithContext_Negative() { - Assert.Throws<Exception>( + AssertExtensions.Throws<ArgumentException, Exception>( () => UInt64ConverterTests.s_converter.ConvertFrom(TypeConverterTests.s_context, null, "-8")); } |