Thank you for the code.
This is expected because there are may be different reasons for why the delete is not possible. For example, if the item does not longer exist in the database because it was removed from somewhere else.
Once the error is returned, the error function of the dataSource will be called and the developer has full control over how to handle this on the client side:
In this case, we can suggest making a new read to retrieve the correct items from the server:
Also, the requests can be prevented during the requestStart event:
I hope this is helpful.