Чтобы открыть новое окно в wpf, вы используете этот код:
private void Button_Click(object sender, RoutedEventArgs e)
{
SecondWindow w = new SecondWindow();
w.Show();
}
И если вы sh закрываете то, в котором находитесь, это:
This.close();
Вам не нужен код
throw new Exception("Custom user exception!");
Поскольку вы просто делаете исключение, которое все равно перехватываете, вы генерируете исключение (обычно), когда хотите отладить свой код или посмотреть, отлавливает ли он правильный тип исключений. Надеюсь, я помог.