关于sharepoint 中ItemAdding事件的取消解决办法

关于sharepoint 中ItemAdding事件的取消
我现在写了一个 SPItemEventReceiver里面重写了一个ItemAdding,我希望当我判断符合了一定的条件话就不让他增加了,并且报出错误的原因。

我现在是模仿ItemDeleting里面写的,貌似没什么作用.

  public override void ItemAdding(SPItemEventProperties properties)
 {
  if(XXXX)
  {
  properties.ErrorMessage = "此时间段内已被确定使用!";
  properties.Cancel = true;
  }
}

如果像工作流那样直接删除的话感觉不是太好,我希望报出那个错误信息。不知道可有什么方法。

------解决方案--------------------
如果不是部署的问题,试试
properties.Cancel = true;
properties.ErrorMessage = "此时间段内已被确定使用!"; 

将那两行代码调换一下顺序,一般情况下都是先Cancel,然后给出具体的error message
------解决方案--------------------
C# code
public override void ItemAdding(SPItemEventProperties properties)
{
     try
     {
         // DO SOMETHING
     }
     catch (Exception ex)
     {
         properties.Cancel = true;
         properties.ErrorMessage = ex.Message;
         // LOG ERROR
     }

      base.ItemAdding(properties);
}