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?