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_hooktake_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