handle_alloc_error — 메모리 할당 실패 처리하기

handle_alloc_error — 메모리 할당 실패 처리하기

handle_alloc_error는 전역 할당자가 메모리 할당에 실패했을 때 호출하는 함수예요. 할당 실패 상황이 감지되면 이 함수가 호출되고, 기본 구현은 프로세스를 패닉(panic) 상태로 만든 뒤 절대 반환하지 않아요.

출처: Rust 공식 문서

본문

pub fn handle_alloc_error(layout: Layout) -> !

반환 타입이 !(never type)이므로 이 함수는 절대 정상적으로 돌아오지 않아요. 할당 실패를 알면 프로그램이 즉시 중단돼요. SetAllocErrorHook 등을 써서 실패 시점을 로깅하도록 훅(hook)을 걸어 둘 수도 있어요.

주로 alloc의 반환 포인터가 널일 때 직접 호출해서 "할당 실패 처리"를 한 곳에서 관리하는 용도로 쓰여요.

더 알아보기 (Learn more)

Rust 공식 문서