Browse Source

Include names in command builder exceptions (#663)

tags/1.0
Finite Reality RogueException 8 years ago
parent
commit
cce572c600
3 changed files with 4 additions and 4 deletions
  1. +2
    -2
      src/Discord.Net.Commands/Builders/CommandBuilder.cs
  2. +1
    -1
      src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs
  3. +1
    -1
      src/Discord.Net.Commands/Builders/ParameterBuilder.cs

+ 2
- 2
src/Discord.Net.Commands/Builders/CommandBuilder.cs View File

@@ -122,11 +122,11 @@ namespace Discord.Commands.Builders


var firstMultipleParam = _parameters.FirstOrDefault(x => x.IsMultiple); var firstMultipleParam = _parameters.FirstOrDefault(x => x.IsMultiple);
if ((firstMultipleParam != null) && (firstMultipleParam != lastParam)) if ((firstMultipleParam != null) && (firstMultipleParam != lastParam))
throw new InvalidOperationException("Only the last parameter in a command may have the Multiple flag.");
throw new InvalidOperationException($"Only the last parameter in a command may have the Multiple flag. Parameter: {firstMultipleParam.Name} in {PrimaryAlias}");
var firstRemainderParam = _parameters.FirstOrDefault(x => x.IsRemainder); var firstRemainderParam = _parameters.FirstOrDefault(x => x.IsRemainder);
if ((firstRemainderParam != null) && (firstRemainderParam != lastParam)) if ((firstRemainderParam != null) && (firstRemainderParam != lastParam))
throw new InvalidOperationException("Only the last parameter in a command may have the Remainder flag.");
throw new InvalidOperationException($"Only the last parameter in a command may have the Remainder flag. Parameter: {firstRemainderParam.Name} in {PrimaryAlias}");
} }


return new CommandInfo(this, info, service); return new CommandInfo(this, info, service);


+ 1
- 1
src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs View File

@@ -210,7 +210,7 @@ namespace Discord.Commands
else if (attribute is RemainderAttribute) else if (attribute is RemainderAttribute)
{ {
if (position != count-1) if (position != count-1)
throw new InvalidOperationException("Remainder parameters must be the last parameter in a command.");
throw new InvalidOperationException($"Remainder parameters must be the last parameter in a command. Parameter: {paramInfo.Name} in {paramInfo.Member.DeclaringType.Name}.{paramInfo.Member.Name}");
builder.IsRemainder = true; builder.IsRemainder = true;
} }


+ 1
- 1
src/Discord.Net.Commands/Builders/ParameterBuilder.cs View File

@@ -49,7 +49,7 @@ namespace Discord.Commands.Builders
TypeReader = Command.Module.Service.GetDefaultTypeReader(type); TypeReader = Command.Module.Service.GetDefaultTypeReader(type);


if (TypeReader == null) if (TypeReader == null)
throw new InvalidOperationException($"{type} does not have a TypeReader registered for it");
throw new InvalidOperationException($"{type} does not have a TypeReader registered for it. Parameter: {Name} in {Command.PrimaryAlias}");


if (type.GetTypeInfo().IsValueType) if (type.GetTypeInfo().IsValueType)
DefaultValue = Activator.CreateInstance(type); DefaultValue = Activator.CreateInstance(type);


Loading…
Cancel
Save