Function std::alloc::set_alloc_error_hook
source · pub fn set_alloc_error_hook(hook: fn(_: Layout))
🔬This is a nightly-only experimental API. (
alloc_error_hook
#51245)Expand description
注册一个自定义分配错误钩子,替换以前注册的任何错误。
当可靠的内存分配失败时 (在运行时中止之前),将调用分配错误钩子。
默认的钩子将消息显示为标准错误,但是可以使用 set_alloc_error_hook
和 take_alloc_error_hook
函数自定义此行为。
钩子带有 Layout
结构体,该结构体包含有关失败分配的信息。
分配错误钩子是一个全局资源。
Examples
#![feature(alloc_error_hook)]
use std::alloc::{Layout, set_alloc_error_hook};
fn custom_alloc_error_hook(layout: Layout) {
panic!("memory allocation of {} bytes failed", layout.size());
}
set_alloc_error_hook(custom_alloc_error_hook);
Run