handle_alloc_error — 메모리 할당 실패 처리하기
handle_alloc_error — 메모리 할당 실패 처리하기
handle_alloc_error는 전역 할당자가 메모리 할당에 실패했을 때 호출하는 함수예요. 할당 실패 상황이 감지되면 이 함수가 호출되고, 기본 구현은 프로세스를 패닉(panic) 상태로 만든 뒤 절대 반환하지 않아요.
출처: Rust 공식 문서
본문
pub fn handle_alloc_error(layout: Layout) -> !
반환 타입이 !(never type)이므로 이 함수는 절대 정상적으로 돌아오지 않아요. 할당 실패를 알면 프로그램이 즉시 중단돼요. SetAllocErrorHook 등을 써서 실패 시점을 로깅하도록 훅(hook)을 걸어 둘 수도 있어요.
주로 alloc의 반환 포인터가 널일 때 직접 호출해서 "할당 실패 처리"를 한 곳에서 관리하는 용도로 쓰여요.