In java, “5/0” statement doesn't fire SIGFPE signal on my Linux machine, why?
I wrote a very simple c program: #include<stdio.h> int main(){ int a=2; int b=0; printf("%d\n", a/b); } and run it with strace: strace ./a.out and get below output (only paste tail part) ... ... mprotect(0x600000, 4096, PROT_READ) = 0 mprotect(0x7f04c7fb8000, 4096, PROT_READ) = 0 munmap(0x7f04c7f96000, 127640) = 0 --- SIGFPE (Floating point exception) @ 0 (0) --- +++ killed by SIGFPE +++ Floating point exception The output matches my expectation, as it was killed by SIGFPE signal. However, the same program written in Java, doesn't get SIGFPE signal, does anybody know how java processes "divide