I couldn't say anything to QV 12 but in the earlier releases it worked in my opinion like expected. Clicking on abort by the error-message ends the execution (nearly always - I couldn't actually remember one) without a crash of qlikview and clicking on ok. goes forward with the script-execution and will lead quite often to consequential errors because tables/fields are missing - mostly without a crash.
It crashed only if there is an unfixable state - more often you will get an incompletely datamodel which contained (a lot of) synthetic keys which might need huge resources on CPU + RAM to be calculated and this might result in an unresponsible application because the calculations aren't finished - and quote often you will terminate the task on this point.
If it happens to me I know that I have made a mistake and wasn't carefully enough to check my actions (and it happens more often then it should be, for example by commenting anything in or out) but not that there is an error in Qlikview.
Quite helpful by developing /maintaining an application is to work with a reduced dataset - reduced qvd's or a limitation within the debugger or maybe a first-statement by the biggest tables - and saving and restoring the application will be very fast compared to a full-reload.