Let say you run some application over a large set of data , a process that takes hours. After a few hours of runtime , some data in the set is malformed , so you have to start from scratch.
With this ,you'll get you're partial results, plus a list of all the places with malformed data that you can fix together .
Same goes for other cases where your applications partially works, and there's value in that partial work.
Not sure if you read my comment. You get the same behavior with a try block. And that's even assuming that you don't just get back gibberish which would be the common case. Note with the example if he didn't pointlessly parse out then reassemble the IP address in his "simplest program", he would have been outputting those #number# values instead of the IP addresses without catching the error.
With this ,you'll get you're partial results, plus a list of all the places with malformed data that you can fix together .
Same goes for other cases where your applications partially works, and there's value in that partial work.