According to the docs,
error handling in Swift does not involve unwinding the call stack, a process that can be computationally expensive.
Then how deallocation of objects happen? Example:- class A is having 'a' method, Class B is having 'b' method and Class C is having 'c' method.
a called b and b called c. When Exception occurred in c how deallocation of A,B,C objects happen?