2010-08-05 5 views
1

Я использую VC2008, написание некоторых MFC код, я добавить кнопку, дважды щелкните по нему, и VC2008 автоматически создать функцию обратного вызова для меня, и мой код выглядит так:поймать исключение в функции обратного вызова тк

void CDeviceTesterDlg::OnBnClickedButton1() 
{ 
    try { 
     .... 
    } catch (std::exception &e) { 
     .... 
    }; 
} 

проблема в том, что мне нужен этот уродливый код в каждой функции OnBnClickedButtonXXX, Есть ли какой-либо хороший метод, только поместите код в одном месте?

Пример из в PyQt, я использую этот метод:

def excepthook(type, value, traceback): 
    QMessageBox.warning(None, "", "%s: %s" % (str(type), str(value))) 
    return sys.__excepthook__(type, value, traceback) 
sys.excepthook = excepthook 

ответ

1

Вы можете попробовать использовать Structured Exception Handling. Это не эквивалентно try/catch, но похоже на ваш пример PyQt.

Смежные вопросы