That’s fine (asserts sprinkled in code) as long as they’re addressed. If they’re not addressed and result in a corrupt project that’s a problem.
Another example: 4.26 if you used an invalid file path for Movie Render Queue (easy to do if you change external hard drives or simply get preset from a friend for best render settings (the path is stuck in that info as well) the system would simply render each frame, post an error in the log and continue running for hours rendering nothing to a file.
A simple defensive check of user input values (such as an invalid file path) would be a much better approach. It could bring up Alert to the user that you’ve tried to provide an invalid file path, please correct (for the user)