Exceptions are possible in C. See the documentation for setjmp() and longjmp().
That said, exceptions are just "kicking the can down the road" for error handling. If a function call can fail, then you should check the return code. If you don't want to write with proper error reporting/recovery code immediately, there is always the assert() macro, e.g.:
if(func_which_might_fail() == ERROR_OCCURRED) assert(0);
If assert(0) gets called the program will stop immediately, and you can inspect the problem in detail with a debugger. Easy peasy.