What? Do you even know what an exception is? What does accessing a null pointer have to do with an exception? How can you say properly written code will not generate exceptions?
Properly written code will not generate exceptions because it will check before it tries to access null pointers...
I'm going to assume that statement comes from the fact you have little to no experience using smart pointers.
it will not be using dangling pointers because 'smart' pointers decided that an object was out of scope and deleted it because a programmer didn't realize they no longer had a reference tot he object. So you end up with the same problems, except now you have no idea where the object is being deleted.
So you are just going to search for "new" and "delete" in a large project to track down memory leaks? Just for amusement I did this in my current project to see what kind of numbers we are looking at:
where at least I can use a simple search to find all instances where something is being allocated/deallocated.
Instances where "new" is called: 5411 times
Instances where "delete" is called: 1378 times.
And this is a project that has slowly made the migration from "dumb" pointers to "smart" pointers over the last year. It used to be a lot worse than that.
Again, another statement that comes from having no clue how a smart pointer works. What smart pointer "re instantiates" objects? How do you use a "blank object"?
You also wont have it re instantiating objects and using blank objects, causing data errors.