diff --git a/.globalconfig b/.globalconfig
index 7eec612775..e2cd1926f0 100644
--- a/.globalconfig
+++ b/.globalconfig
@@ -90,8 +90,11 @@ dotnet_diagnostic.CA2101.severity = none
# CA2201: Do not raise reserved exception types
dotnet_diagnostic.CA2201.severity = warning
-#Disable operator overloads requiring alternate named methods
-dotnet_diagnostic.CA2225.severity = none
+# CA2208: Instantiate argument exceptions correctly
+dotnet_diagnostic.CA2208.severity = suggestion
+
+# CA2242: Test for NaN correctly
+dotnet_diagnostic.CA2242.severity = warning
# Banned APIs
dotnet_diagnostic.RS0030.severity = error
diff --git a/Directory.Build.props b/Directory.Build.props
index 0dcbffd0dc..0ab41d27a0 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -29,6 +29,8 @@
Default
Minimum
Recommended
+ Default
+ Default
true
diff --git a/osu.Game.Rulesets.Mania/Skinning/Argon/ManiaArgonSkinTransformer.cs b/osu.Game.Rulesets.Mania/Skinning/Argon/ManiaArgonSkinTransformer.cs
index afccb2e568..c37c18081a 100644
--- a/osu.Game.Rulesets.Mania/Skinning/Argon/ManiaArgonSkinTransformer.cs
+++ b/osu.Game.Rulesets.Mania/Skinning/Argon/ManiaArgonSkinTransformer.cs
@@ -164,7 +164,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 1: return colour_cyan;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 3:
@@ -176,7 +176,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 2: return colour_cyan;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 4:
@@ -190,7 +190,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 3: return colour_purple;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 5:
@@ -206,7 +206,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 4: return colour_cyan;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 6:
@@ -224,7 +224,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 5: return colour_pink;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 7:
@@ -244,7 +244,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 6: return colour_pink;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 8:
@@ -266,7 +266,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 7: return colour_purple;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 9:
@@ -290,7 +290,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 8: return colour_purple;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
case 10:
@@ -316,7 +316,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 9: return colour_purple;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
}
@@ -339,7 +339,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
case 5: return colour_green;
- default: throw new ArgumentOutOfRangeException();
+ default: throw new ArgumentOutOfRangeException(nameof(columnIndex));
}
}
}
diff --git a/osu.Game/Online/Leaderboards/Leaderboard.cs b/osu.Game/Online/Leaderboards/Leaderboard.cs
index 0fd9597ac0..d76da54adf 100644
--- a/osu.Game/Online/Leaderboards/Leaderboard.cs
+++ b/osu.Game/Online/Leaderboards/Leaderboard.cs
@@ -363,7 +363,7 @@ namespace osu.Game.Online.Leaderboards
return null;
default:
- throw new ArgumentOutOfRangeException();
+ throw new ArgumentOutOfRangeException(nameof(state));
}
}
diff --git a/osu.Game/Online/OnlineViewContainer.cs b/osu.Game/Online/OnlineViewContainer.cs
index 824da152b2..ce55b50d94 100644
--- a/osu.Game/Online/OnlineViewContainer.cs
+++ b/osu.Game/Online/OnlineViewContainer.cs
@@ -87,7 +87,7 @@ namespace osu.Game.Online
break;
default:
- throw new ArgumentOutOfRangeException();
+ throw new ArgumentOutOfRangeException(nameof(state.NewValue));
}
});
diff --git a/osu.Game/Overlays/AccountCreationOverlay.cs b/osu.Game/Overlays/AccountCreationOverlay.cs
index 82fc5508f1..55cba33153 100644
--- a/osu.Game/Overlays/AccountCreationOverlay.cs
+++ b/osu.Game/Overlays/AccountCreationOverlay.cs
@@ -126,7 +126,7 @@ namespace osu.Game.Overlays
break;
default:
- throw new ArgumentOutOfRangeException();
+ throw new ArgumentOutOfRangeException(nameof(state.NewValue));
}
}
}
diff --git a/osu.Game/Overlays/Toolbar/ToolbarUserButton.cs b/osu.Game/Overlays/Toolbar/ToolbarUserButton.cs
index 96c0b15c44..787c525566 100644
--- a/osu.Game/Overlays/Toolbar/ToolbarUserButton.cs
+++ b/osu.Game/Overlays/Toolbar/ToolbarUserButton.cs
@@ -130,7 +130,7 @@ namespace osu.Game.Overlays.Toolbar
break;
default:
- throw new ArgumentOutOfRangeException();
+ throw new ArgumentOutOfRangeException(nameof(state.NewValue));
}
});
}