Awhile back, Ayende Rahien posted about Assert.True as a tool of last resort. It was a great post (if you're into testing, which if you're a developer, I'm assuming you are, you should read it) and I chimed in about a pattern that bothered me:
...
bool handled = false;
try 
{
   something;
}
catch(Exception ex)
{
   handled = true;
}
Assert.IsTrue(handled);
...
Tests are meant to ensure appropriate behavior. Our methods validate their contracts early by testing the parameters passed in. If I am expecting something not to be null, and you give me a null, it's my obligation as your friend to pass back an ArgumentNullException instead of letting it flow through until you get a NullReference. 
Someone replied about a helper method and I had that "slap forehead" moment because I hadn't thought of this:
private delegate void ExceptionDelegate();
private static bool _ExceptionExpected(Type exceptionType, ExceptionDelegate method)
{
    bool retVal = false;
    try
    {
        method(); 
    }
    catch(Exception ex)
    {
        retVal = ex.GetType() == exceptionType;                
    }
    return retVal; 
}
...
Assert.IsTrue(_ExceptionExpected(typeof(ArgumentNullException), () => targetClass.TargetMethod(null)));
A lot cleaner and reusable ... and I'm confident someone reading this will come back with something even more elegant, but for now, I like it!