Неправильно ли иметь оператор return в блоке catch?
Каковы альтернативы? 
то есть:
public bool SomeFunction()
{
    try
    {
        //somecode
        return true;
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.message);
        return false;
    }
}