Defensive programming does not mean that you ignore errors. It means that the dev should always expect the worse and decide right away how to deal with it early.
Imagine you have a car that suddenly block and explode each time an unexpected error is encountered. So that you are sure to catch it.
So, you are driving on the highway, then a there a window fuse that blow and because of that your car decide to brake and explode...
Especially in hardware and embedded, you have to expect the unexpected to happen.
Imagine the car will suddenly stop when a lightbulb break or there is a shortcut in windows control. Sure you will know, but you will have 300 000 cars all around the world bricked!