Compiler warning on unused exception...need to improve structure?
You can refactor your code the following way:

public int DoSomethingComplicated(ComplicatedObject input)
{
    try 
    {
        return input.Analyse();
    }
    catch(CustomExceptionTwo ex2)
    {
         Log(ex2.Message);
         return -1;
    }
}


throw; re-throws the same exception, so there is no point in such catch block. 

Alternatively, you can use catch(CustomExceptionOne) syntax.