- Use try catch blocks for all possible problems of code
- Framing the problem, evaluating decision, making decision
- Think about all possible problems during the process of writing code