Error handling
From cppreference.com
                    
                                        
                    < c
                    
                                                            
                    [edit] Types
|   Defined in header <errno.h>  
 | |
|   Defined in header <stdio.h>  
 | |
|    errno_t 
(C11) 
 | 
   the type of errno value   (typedef)  | 
[edit] Error numbers
|   Defined in header <errno.h>  
 | |
|   macro which expands to POSIX-compatible thread-local error number variable (macro variable)  | 
|
|    macros for standard POSIX-compatible error conditions  (macro constant)  | 
|
[edit] Assertions
|   Defined in header <assert.h>  
 | |
|    aborts the program if the user-specified condition is not true. May be disabled for release builds  (function macro)  | 
|
|    (C11) 
 | 
   issues a compile-time diagnostic if the value of a constant expression is false   (function macro)  |