Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    993f54f6
    MAINT-5011: Try to enrich catch (...) logging throughout viewer. · 993f54f6
    Nat Goodspeed authored
    Turns out we have a surprising number of catch (...) clauses in the viewer
    code base. If all we currently do is
    
        LL_ERRS() << "unknown exception" << LL_ENDL;
    
    then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is
    
        LL_WARNS() << "unknown exception" << LL_ENDL;
    
    then call LOG_UNHANDLED_EXCEPTION() instead.
    
    Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches
    LLContinueError yet, eliminate LLContinueError& parameter from
    LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as
    CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level.
    
    Where a catch (...) clause actually provides contextual information, or makes
    an error string, add boost::current_exception_diagnostic_information() to try
    to figure out actual exception class and message.
    993f54f6
    History
    MAINT-5011: Try to enrich catch (...) logging throughout viewer.
    Nat Goodspeed authored
    Turns out we have a surprising number of catch (...) clauses in the viewer
    code base. If all we currently do is
    
        LL_ERRS() << "unknown exception" << LL_ENDL;
    
    then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is
    
        LL_WARNS() << "unknown exception" << LL_ENDL;
    
    then call LOG_UNHANDLED_EXCEPTION() instead.
    
    Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches
    LLContinueError yet, eliminate LLContinueError& parameter from
    LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as
    CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level.
    
    Where a catch (...) clause actually provides contextual information, or makes
    an error string, add boost::current_exception_diagnostic_information() to try
    to figure out actual exception class and message.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.