在Linux下,可以使用C或C++语言编写异常处理程序。以下是一个简单的示例程序,用于捕获并处理异常:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void sig_handler(int signo) {
if (signo == SIGSEGV) {
printf("Segmentation fault caught!\n");
exit(1);
}
}
int main() {
signal(SIGSEGV, sig_handler);
// Cause a segmentation fault
int *ptr = NULL;
*ptr = 42;
return 0;
}
在上面的示例中,sig_handler
函数用于处理SIGSEGV信号(即段错误)。在main
函数中,我们使用signal
函数将SIGSEGV信号与sig_handler
函数关联起来。然后,我们故意引发一个段错误,程序会捕获并处理该异常。
需要注意的是,异常处理程序通常会在程序发生错误时终止程序的执行。您可以根据具体需求编写自己的异常处理程序,来处理不同的异常情况。