Asynchronous After in a model

I put an division by zero in a script task in my model to test Asynchronous behavior, when I check neither
“Asynchronous Before” nor “Asynchronous After” , The process instance doesn’t get started and when I check “Asynchronous After”, again the process instance doesn’t get started. So Is “Asynchronous After” the the default behavior in a service or script task? or I am making a mistake?

this is my model for test:

Thanks in advance

The is expected behavior.

You’ve built a straight-through process by adding a series of script tasks. This means that the tread that starts the process will also be running through the process and will only be completely when the process has ended. If for any reason - like in this case an error occurs - the process will never be started because it’s not able to reach a wait state before the error happens.

If you tick asynchronous before on the task instead of afterthe process will save the state before doing the divide by zero. So in that case the process will start and an error will appear in cockpit.

Thanks @Niall