On a related note, why is the FF7 animation system so brittle? Why doesn't FF7 just degrade gracefully and let an actor without an animation to a spell or action just idle for a while?
Who in their right mind would allow programmers to focus on exception handling for a product with no user serviceable parts?
It's evident that FF7 has some kind of exception handling, or else we wouldn't get 'Data Errors' when actors attempted to use animations that the game couldn't look up. But exactly how does this handling work?
The 'data error' functionality doesn't seem particularly comprehensive - I've only ever reproduced instances where it captures animation problems (a code 32). Even then, I've noticed that it can't handle animation problems when the action is called as a 'follow-up' to another (called as the special effect 'call [Modifier] after completion', as per the second halves of Vincent's Satan Slam or Cloud's Finishing Touch) - the 'Scene: XX / Code: YY' message comes out as the nonsensical 'Scene: #$' (though it's not clear why).
Someone tripped that one enough times to piss of whoever was working on that code
Or perhaps it was developed early on when the deadline wasn't looming around the corner.
I'm surprised that you're surprised about the lack of error handling, its difficult for any programmer to get it right, without the pressure of managers and deadlines and the I-dont-care-about-this-shit-I-just-want-to-get-it-out-the-door factor.
Only reason why modern games are (slightly) better is that the engine is usually not developed in-house and whichever company did write it has an interest in error handling so that it can tell its customers what they're doing wrong.
I expect FF7s system to be nothing but inconsistent kludges dealing with a particular situation that came up during development.