: OP , . , , , .
, ( ) :
, . .
++/Java try/catch , , try catch , . : Rust Go, , fail .
3 :
- unrecoverable:
- : (,...)
- : , , .
. , (, ) . , ( ), . . Valgrind, Asan, Purify .. - , ; () , .
, , , . . , . ( ) .
, , , , . , , Production ( cookie, ).
. Mozilla rr, , , , . .
, . , , /.
() :
( ) . , ( bad_alloc... ).
, .
:
- ( )
- () ,
- () /
- , ,
- , , ( , , ).
?
, I/O. , , . / : , , , , ( , ),...
, , ( ). , (: - , , , , , , ).
- . : std::out_of_range ( what): vector::_M_range_check libstd++ vector.
, , , vector , 3 640 , .
:
- :
"access to index 32 in vector of size 4" , ? - : , , !
: , , , ; ;)
, RAII: . , , , if , ( , ...).
, catch, try/catch, RAII .
: , std , , throw std::bad_alloc; std::bad_alloc, ( ). .
?
, , , (aka, exception).
, :
, :
- ( ) ; , , .
- "" : ? ( ? ?...), ? ( ? ?...)
- : /, !
, , - , - . , , :
- : / , ,
- :
- log-level driven: , , ,
/
N ; , -. , N !
, , , . , , ( ) ( ).
, " " /, , :)
( ) , ( ).
rr
20% , , rr . , , , 1 N rr .
A/B, ( ), .
, , , . 20%.
, , , . . , .