I'm trying to test a c++ code on an Nunit framework but I keep getting the following Exception
System.Runtime.InteropServices.SEHException : External Component has thrown an exception.
which is supposedly perfectly normal (I assume) anyway I wanna ignore it. (i.e. Use ExpectedException) This is my .h file
 [Test, Description("Tests if an Entity has been successfully Locked")]
 void test_LockOperation();
and the .cpp file
 void TestDmObstacles::test_LockOperation()
{
  lockVal = DbtoDmObstaclesAdapter::lock( CmnGuid::parseString( L"3B6DB8F8-4BA7-DD11-B6A7-001E8CDE165C" ) );
  //When lock is successful the lockVal is 0
  Assert::AreEqual(0, lockVal);
}
I wanna use ExpectedException but I don't know how to do it in c++. I tried the try/catch method as well but it didn't work (I just put the Assertion in the catch block)
PS: I can't use another framework it has to be Nunit
EDIT
Here is the try/catch approach I used
    void TestDmObstacles::test_LockOperation()
{
    try
    {
        lockVal = DbtoDmObstaclesAdapter::lock( CmnGuid::parseString( L"3B6DB8F8-4BA7-DD11-B6A7-001E8CDE165C" ) );
    }
    catch (...)
    {
        //Assert::Fail();
        Assert::AreEqual(0, lockVal);
    }
}