#include long long a = 100, b = 0; extern "C" long long __aeabi_ldiv0 (long long retval) { throw 0; } int bad_division (void) { return a / b; } int main(int argc, char *argv[]) { try { bad_division (); } catch (int e) { fprintf (stderr, "caught division by zero\n"); return 0; } fprintf (stderr, "didn't catch exception\n"); return 1; }