yigal_s' Journal
 
[Most Recent Entries] [Calendar View] [Friends View]

Thursday, February 14th, 2013

    Time Event
    3:20a
    безумный кошмар программиста С++
    Оказывается, любой, совершенно любой оператор в С++ может кинуть исключение. Даже следующий:
    int a;
    a = 3; // exception is thrown here %-)

    Разгадка в том, что в g++ вроде б thread cancellation сделана через прокидывание исключениия. Стоит нам сделать асинхронный мод cancellation, как...

    Как может взаимодействовать страшный сам по себе asynchronous thread cancellation и обычные С++ исключения - мне и представить тяжело. Легко можно словить второе исключение при откатке стека, к примеру. Со всеми вытекающими.

    При случае можно посмотреть, что там реально в g++ сделано на этот счет. Впрочем, ну этот cancellation нафиг, если по большому счету.

    << Previous Day 2013/02/14
    [Calendar]
    Next Day >>

About LJ.Rossia.org