C code can call C++ code which can throw. C code can also call D code with can throw and/or gc. D attributes are all subtractive, meaning they remove capability from the called function. But C code can do anything.