MonoDevelop throws error, can't inspect, can't log

When I click a UI button, it’s handled by this function:

public void Button_Click()
    try {
      StartPhase (MyFlags.Phase.PHASE_ONE) 
    } catch (UnityException ex) {
	Debug.Log (ex.Message);
	Debug.LogError (ex.Message);

The debugger goes to the declaration of this function:

public IEnumerator StartPhase(DuelFlags.Phase newPhase) {

   //Several lines of code here...

…and then immediately goes to the “Catch” block.
I roll my mouse over the ‘ex’ variable but it says “Unknown identifier”.
The debugger immediately skips both the log statements, and nothing is logged.

How am I supposed to debug something like this? Is something wrong with my MonoDevelop (4.0.1)?

Jessespike’s comment was right, I need to add

StartCoroutine( StartPhase(MyFlags.Phase.PHASE_ONE) );

(Side question, since I can’t post comments yet: When does it make sense to call a function that returns IEnumerator without StartCoroutine ? )