# error reporting

A programming facility for detecting and reporting error conditions in the GNU C Library.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Improving Error Reporting in a Simple Interpreter

DevFeed: [Improving Error Reporting in a Simple Interpreter](<https://devfeed.tech/articles/let-s-build-a-simple-interpreter-part-15-33318.md>)

Original publisher: [Read original article](<https://ruslanspivak.com/lsbasi-part15/>)

Author: Ruslan Spivak

Published: 2019-06-21T09:45:00Z

Content type: tutorial

Language: en

Sources: [Ruslan Spivak](<https://devfeed.tech/sources/ruslan-spivak.md>)

Topics: [error reporting](<https://devfeed.tech/topics/error-reporting.md>), [Python](<https://devfeed.tech/topics/python.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [custom-exceptions](<https://devfeed.tech/tags/custom-exceptions.md>), [error-reporting](<https://devfeed.tech/tags/error-reporting.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

This tutorial improves error reporting in a simple interpreter's lexer, parser, and semantic analyzer. It adds error codes, custom exceptions, token position tracking, a scope command-line option, and Python 3.7+ support.

### Source excerpt

"I am a slow walker, but I never walk back." -- Abraham Lincoln And we're back to our regularly scheduled programming! :) Before moving on to topics of recognizing and interpreting procedure calls, let's make some changes to improve our error reporting a bit. Up until now, if there was ...

## Curious Customer

DevFeed: [Curious Customer](<https://devfeed.tech/articles/curious-customer-31919.md>)

Original publisher: [Read original article](<http://blog.jayfields.com/2016/06/curious-customer.html>)

Author: Jay (noreply@blogger.com)

Published: 2016-06-28T15:24:00Z

Content type: opinion

Language: en

Sources: [Jay Fields](<https://devfeed.tech/sources/jay-fields.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Software](<https://devfeed.tech/topics/software.md>), [unit tests](<https://devfeed.tech/topics/unit-tests.md>), [test](<https://devfeed.tech/topics/test.md>), [error reporting](<https://devfeed.tech/topics/error-reporting.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [context](<https://devfeed.tech/tags/context.md>), [customers](<https://devfeed.tech/tags/customers.md>), [developer](<https://devfeed.tech/tags/developer.md>), [error-reporting](<https://devfeed.tech/tags/error-reporting.md>), [software](<https://devfeed.tech/tags/software.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

A developer reflects on how bugs triggered by nonsensical user behavior created noise, context switching, and distrust in application data despite appearing minor. The article proposes having another developer use new features in staging as a "Curious Customer" to uncover issues that conventional tests may miss.

### Source excerpt

I currently work on a pretty small team, 4 devs (including myself). We have no one dedicated strictly to QA. A few years ago we ran into a few unexpected issues with our software. I hesitate to call them bugs, because they only appeared when you did things that made little sense. We write internal-only software, thus we expect a minimum level of competency from our users. In addition, it's tempting justify ignoring problematic nonsensical behavior in the name of not having to write and maintain additional software. But, when I wasn't in denial, I was willing to admit that these were in fact bugs and they were costing us time. The problems caused by these bugs were small, e.g. a burst of worthless emails, a blip in data flowing to the application. The emails could be quickly deleted, and the application was eventually consistent. Thus I pretended as though these issues were of low importance, and that the pain was low for both myself and our customers. I imagine that sounds foolish; in retrospect, it was foolish. The cost of developer context switching is often very high, higher if it's done as an interrupt. Introducing noise into your error reporting devalues your error reporting. Users can't as easily differentiate between good data, a blip of bad data due to something they did, and actual bad data, thus they begin to distrust all of the data. The cost of these bugs created by nonsensical behavior is high, much higher than the cost of writing and maintaining the software that eliminated these bugs. Once we eliminated these bugs, I spent notably more time happily focused on writing software. For me, delivering features is satisfying; conversely, tracking down issues stemming from nonsensical behavior always feels like a painfully inefficient task. I became very intent on avoiding that inefficiency in the future. The team brainstormed on how to address this behavior, and honestly we came up with very little. We already write unit tests, load tests, and integration te

## Best Practices in Error Handling

DevFeed: [Best Practices in Error Handling](<https://devfeed.tech/articles/best-practices-in-error-handling-40655.md>)

Original publisher: [Read original article](<https://radek.io/posts/best-practices-in-error-handling/>)

Published: 2011-09-13T00:00:00Z

Content type: opinion

Language: en

Sources: [Radek Pazdera](<https://devfeed.tech/sources/radek-pazdera.md>)

Topics: [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [error reporting](<https://devfeed.tech/topics/error-reporting.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [error-reporting](<https://devfeed.tech/tags/error-reporting.md>), [programming](<https://devfeed.tech/tags/programming.md>), [security](<https://devfeed.tech/tags/security.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

The article argues that software projects need a consistent error-handling strategy. It recommends user-facing error messages that explain what happened and why, while avoiding excessive technical detail such as stack traces or memory dumps that may create security risks. It also contrasts centralized and decentralized error handling.

### Source excerpt

My idea of how errors should be handled in programs.