Screen swallowing exception in DisplayName

Topics: Getting Started, UI Architecture
Dec 12, 2012 at 6:00 PM
Edited Dec 12, 2012 at 6:02 PM

Good day,

I've stumbled across a problem.

If, for example, there is some sort of exception in the DisplayName property getter for a Caliburn.Micro.Screen, no exception bubbles up throw the framework when starting up an WPF application (which displays the MainView/MainViewModel).


    public class MainViewModel : Screen
        public MainViewModel()

        public override string DisplayName
                throw new NotImplementedException();
                base.DisplayName = value;

MainView.xaml is a <Window> that contains an empty grid


If I change the class to manually implement IScreen, the exception bubbles up as expected.


Is there any way to have these exceptions bubble up through the framework?




Dec 12, 2012 at 6:22 PM

Generally you should avoid throwing exception in property getters.

The framework does not care about this property. It is only used by Xaml Binding.
WPF is catching binding exceptions so you wont see them.

Dec 12, 2012 at 7:49 PM


No disagreement that I should avoid throwing exceptions in getters.  

The actual exception I introduced was not intentional and I ended up spending extra time when things did not occur as expected.


Following the stack overflow link in your response, I was able to use information from


in order to have binding errors be thrown as exceptions.


Thanks for your quick response,