Common Custom Software Errors
March 2024
Creating custom software is a natural problem-solving process. At Coretechs we create tools that solve the unique problems of each business we help, but the problem-solving doesn’t stop there.
Custom code can often come with errors. We find bugs all the time as we develop new features, run through testing scenarios, and even as we review legacy code we’ve inherited from other teams.
Recognizing errors and bugs isn’t the hard part; fixing them is where we spend most of our time. Although clients rarely see the majority of errors we address, we believe that’s how it should be. We thoroughly inspect code and test the user experience before your technology is live to avoid production errors and deliver an easy launch process.
Version Conflicts
The first type of error we commonly see comes from version conflict. In a version conflict, an updated library or framework might be built on a newer version of the code base, and therefore will not work with older versions of the code.
To prepare for this, we use analyzers to help us determine what parts of the code might need to be addressed. These handy tools help our developers anticipate where they will spend the majority of their time in an upgrade. After a developer updates a system, our team of testers will use the system and document any issues. Sometimes, the errors will be specific enough to pinpoint which line of code is no longer working, but other times a dev will need to dig in to find the culprit.
Here is an example of what our developers see when a function has been deprecated. In this example, the code before the update worked but as a consequence of the framework being updated to the new version, the function no longer performs the intended task. The developer will need to update the function to work with the new parameters set forth by the update.
“You should expect there to be deprecated functions when you move from a very old version of PHP to a higher version. For example, moving from PHP5.4 to PHP8 would be a big move. There will be lots of deprecated functions that will need to be replaced with new ones or written from scratch.”
Dipin, PHP Developer
API Errors
An API is a digital method of transporting information from one place to another. Like a street, an API might be a one way or two ways, transferring data back and forth between a browser and a server. The API could be a custom feature or it could be a third-party service which already exists, like Sendgrid.
Many of the API integrations we implement are between a client’s products and a third-party service. The third-party will provide the API and we will integrate it’s features into the client product.
One of the more common errors we see when working on this type of project is a 401 unauthorized error which means that a permission is missing. Third-party services typically require validation to know who is using their API, how often it is used, and if it is within licensing rights.
Sender and Receiver Errors
“With new features being added, I work a lot with new api endpoints. To resolve any issues that might arise from calling an endpoint, I use Swagger to test an endpoint. This allows me to know the necessary payloads, params and response content. By knowing this, I’m able to avoid or resolve 400 bad request errors and 404 not found errors.”
Samuel, Python Developer
HTTP / Server Errors
Another common error is the server error. There are a handful of different server errors and they all have their own status code. You might even see these when you try to access a popular website – usually they are something like 404, 504, 500, etc. These errors can occur on any website. They are not caused by version conflicts or API issues.
Server errors usually occur when something “unexpected” happens. For example, if a user uploads an unusually large file or enters an unsupported character in a numbers-only field, you might get a server error.
The software functions execute a process or information intake, but does not understand and cannot process the unexpected information. So, the function runs continuously over and over until the server stops the process and disallows it to continue. The function will need to be updated to handle the input variations or the server time will need to be extended to solve for this issue.
“The problem I encounter the most while I’m working on new development features is a 500 error. This means that the user clicked to go to a page or consume an endpoint and there was a coding error. So then I have to go back into the logs and read what the programming error was and fix that.”
Chad, Python Developer
Custom-built never means perfect and it never means error free, but our goal is to take care of them before they reach your hands. If you have errors on your website or you’re considering a change to your custom software, or if you’re just thinking about your options, we recommend adding extra cushion to your timeline and budget for error-correction and long-term support. Contact us if we can support you today!