A big part of programming is just finding and fixing bugs, so it's important to do it like a pro. Sometimes, when trying to fix a bug, we create three more. Or even, we break the whole application. So, if we know the best practices of error handling, it's possible to reduce debugging time, improve the code, detect errors faster, and avoid creating more errors when fixing a bug.
Now, let's first identify the type of errors. We can divide all errors into two broad categories, operational errors and programmer errors. The operational errors are runtime problems experienced by code that is well written. So, the code doesn't have any problems, no bugs. These errors are caused by something else, some external circumstances that can disrupt the flow of the program execution.
Some examples are the system itself, for example, when the system runs out of memory, the system configuration, there is no route to a remote host, maybe because the host is offline or if you're trying to connect to the incorrect port, the network, when you experience sockets hang up, remote service, 500 error, which is the famous internal server error. There is something wrong with the server that is not very specific and is not related to your code, the internet or your computer. It's just an error with the server. Fail to connect to the server, maybe because you don't have internet. Fail to resolve hostname when you have a typo in the hostname that you're trying to connect with. Invalid user input. For example, the user needs to enter an e-mail address but the e-mail is invalid. Or any other invalid input provided by the user. Request an app. For example, the server took way too much time to respond and it fails. A database connection is lost, perhaps due to faulty network connection. This is an example of a system that's operating in our memory, socket hung up, database connection lost, invalid input, 500 error or remote service error, and no WiFi, which can cause fail to connect to the server, error.
When you experience these kind of errors, there is not much code we can do to fix it. File not found is an operational error, but that doesn't necessarily mean anything is wrong. These situations do not arise due to mistakes in the application code, but they must be handled correctly. Otherwise, they could just cause more serious problems. There are five main techniques to handle operational errors. First, retry the operation. If you're experiencing a 500 error or fail to connect to server or the server is overload, you can just wait and retry to connect in a few seconds. Network requests to external service might sometimes fail, even if the request is completely valid. Such issues are normally sporadic, so instead of reporting it or notifying, you can retry the request a few times until it succeeds or it reaches the maximum amount of retries.
Comments