我正在尝试为 Register CommandHandler 编写一个类
public virtual void RegisterCommandHandler<T>(string messageType, Action<T, MetaData> handler)
{
_handlers.Add(messageType, (command, metadata) => handler((T)command, metadata));
}
我想处理两个异常:
- 处理空异常
- 无效处理程序异常
我试着按照下面的方式去做,但是没有成功
if (string.IsNullOrEmpty(handler.ToString()))
throw new ArgumentNullException("NullException","null value");
请帮我写验证 谢谢!
最佳答案
您应该直接检查处理程序是否为空。
if (handler == null)
throw new ArgumentNullException("handler cannot be null", "handler");
您现在遇到问题的原因是如果 handler 为 null,handler.ToString() 将抛出 NullReferenceException。
关于c# - argument null异常和invalid异常怎么写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20320872/