Fix GCC warning regarding hidden overload
Fix GCC warning regarding hidden overload

The `desc` method in the derived exception classes overload the one in
the base class but making it private, which triggers a visibility
warning. The base class `desc` is a simple getter for `desc_` and need
to to be virtual.

zhangsu/ccspec,michaelachrisco/ccspec,tempbottle/ccspec,tempbottle/ccspec,zhangsu/ccspec,michaelachrisco/ccspec,michaelachrisco/ccspec,zhangsu/ccspec,tempbottle/ccspec