Rust 如何处理带锈的浮点异常(fpe)?

Rust 如何处理带锈的浮点异常(fpe)?,rust,Rust,在C语言中,您可以使用SIGFPE来定义浮点异常的处理程序 例如,如何使用Rust定义处理溢出的函数 有关将回调设置为在C中运行的示例,请参阅。Rust不支持将信号作为标准库的一部分。我相信这是因为它们是高度特定于平台的,并且为大多数多线程程序设计得非常糟糕 有几个板条箱可以用来处理信号;是我以前用过的。下面是该库中的示例代码,更改为报告一个SIGFPE: #[macro_use] extern crate chan; extern crate chan_signal; use chan_si

在C语言中,您可以使用
SIGFPE
来定义浮点异常的处理程序

例如,如何使用Rust定义处理溢出的函数


有关将回调设置为在C中运行的示例,请参阅。

Rust不支持将信号作为标准库的一部分。我相信这是因为它们是高度特定于平台的,并且为大多数多线程程序设计得非常糟糕

有几个板条箱可以用来处理信号;是我以前用过的。下面是该库中的示例代码,更改为报告一个
SIGFPE

#[macro_use]
extern crate chan;
extern crate chan_signal;

use chan_signal::Signal;
use std::thread;

fn main() {
    let signal = chan_signal::notify(&[Signal::FPE]);
    let (sdone, rdone) = chan::sync(0);

    thread::spawn(move || run(sdone));

    chan_select! {
        signal.recv() -> signal => {
            println!("received signal: {:?}", signal)
        },
        rdone.recv() => {
            println!("Program completed normally.");
        }
    }
}

fn run(_sdone: chan::Sender<()>) {
    thread::sleep_ms(100_000);
}

你想对溢出等采取什么样的行动,你能举一个C语言中的例子吗?