Use C++ builtin exception whenever possible