std::feholdexcept
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  
<cfenv>
  | 
||
|   int feholdexcept( std::fenv_t* envp ) 
 | 
(since C++11) | |
First, saves the current floating-point environment to the object pointed to by envp (similar to std::fegetenv), then clears all floating-point status flags, and then installs the non-stop mode: future floating-point exceptions will not interrupt execution (will not trap), until the floating-point environment is restored by std::feupdateenv or std::fesetenv.
This function may be used in the beginning of a subroutine that must hide the floating-point exceptions it may raise from the caller. If only some exceptions must be suppressed, while others must be reported, the non-stop mode is usually ended with a call to std::feupdateenv after clearing the unwanted exceptions.
[edit] Parameters
| envp | - | pointer to the object of type std::fenv_t where the floating-point environment will be stored | 
[edit] Return value
0 on success, non-zero otherwise.
[edit] See also
|    (C++11) 
 | 
   restores the floating-point environment and raises the previously raise exceptions  (function)  | 
|    (C++11) 
 | 
    saves or restores the current floating point environment  (function)  | 
|    (C++11) 
 | 
   default floating-point environment  (macro constant)  |