It might be possible to replace or repair the heat exchanger on your heater. You could also pickup a used unit and harvest parts from it. I've successfully repaired a heat exchanger on a pool heat pump with JB weld before.

Regarding how it broke? Rust, age, improper winterizing, etc all could have an effect.