For this reason, it is essential that your flight planning process includes an identification of objects and people you could potentially crash into.
These will vary according to the mission you are planning to fly, however, even flying in clear weather in accordance with the SoCs, as a minimum you need to identify:
Buildings
Trees and other plants
Bodies of water
Geographical attributes (cliffs, hills, embankments)
Traffic that could move through your flight plan
Animals
People presently in or near your flight plan and people who could potentially enter into your flight space during the flight.
Powerlines and power infrastructure
Weather and wind
Identify the hazards
Of course, the existence of hazards does not automatically mean you should cancel your flight. It is extremely important however that you identify the hazards and have in place measures to detect and avoid the hazards.
Avoid the hazards
The first part of avoiding hazards is to make sure your drone is not itself a hazard. Your pre-flight checklist must include a thorough inspection of the drone to ensure it is functioning and airworthy.
This includes checks on the airframe, batteries and drive train. You also need to check your controller is functioning correctly.
Observe the flight path
Once you have pre-flight checked your drone and the airspace requirements, you should thoroughly observe the flight path to identify potential hazards and ways of mitigating them.
Your flight plan must then be updated to include the hazards and how you intend to avoid them. This may often be done implicitly through the flight path and navigation system, however, you need to continuously monitor the environment for changes that present new hazards during the mission.