The behavior you describe is expected. If the error is not caught then an incident is raised. This incident can not be resolved because the workflow can not be changed to catch the error event.
The incident is resolved when the activity (i.e. the service task) is left, for example, then the outer scope is completed or terminated.
But another question, if this case happend, how can i make the flow continue to run. I can not modify the current process defination or change my task codes to fix it?
it seems that i only can abandon this process instance, right?
Yes.
If the workflow instance has concurrent flows then it can continue there.
However, we plan to implement workflow instance migration in the future. At this point, you will be able to fix the workflow instance by migrating it to a modified workflow.