If I have the following code
try{
   // Some code that might throw a system_error
   -- snip --
} catch(const std::system_error& ex) {
  if(ex.code()!=std::errc::permission_denied){
    // Not a permission denided error
   throw;
  }
// Recover from a permission denied
--snip---
}
can someone explain the function of throw? Is it correct that the try-catch statement will re-execute until it finds a permission_denied error?
 
    