In the previous post we looked into the basics of errors and error handling in Ballerina, including the error type, creating error values, panic, trap, check, checkpanic, etc. In this post we will be looking at a bit more advanced concepts, including defining and using custom error types immutability of…