在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
函數關聯起來。然后,我們故意引發一個段錯誤,程序會捕獲并處理該異常。
需要注意的是,異常處理程序通常會在程序發生錯誤時終止程序的執行。您可以根據具體需求編寫自己的異常處理程序,來處理不同的異常情況。