Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 95575
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T23:40:47+00:00 2026-05-10T23:40:47+00:00

I understand that Exceptions are for exceptional cases [a], but besides just being repeated

  • 0

I understand that ‘Exceptions are for exceptional cases’ [a], but besides just being repeated over and over again, I’ve never found an actual reason for this fact.

Being that they halt execution, it makes sense that you wouldn’t want them for plain conditional logic, but why not input validation?

Say you were to loop through a group of inputs and catch each exception to group them together for user notification… I continually see that this is somehow ‘wrong’ because users enter incorrect input all the time, but that point seems to be based on semantics.

The input is Not what was expected and hence is exceptional. Throwing an exception allows me to define exactly what was wrong like StringValueTooLong or or IntegerValueTooLow or InvalidDateValue or whatever. Why is this considered wrong?

Alternatives to throwing an exception would be to either return (and eventually collect) an error code or far worse an error string. Then I would either show those error strings directly, or parse the error codes and then show corresponding error messages to the user. Wouldn’t a exception be considered a malleable error code? Why create a separate table of error codes and messages, when these could be generalized with the exception functionality already built into my language?

Also, I found this article by Martin Fowler as to how to handle such things – the Notification pattern. I’m not sure how I see this as being anything other than Exceptions that don’t halt execution.

a: Everywhere I’ve read anything about Exceptions.

— Edit —

Many great points have been made. I’ve commented on most and +’d the good points, but I’m not yet completely convinced.

I don’t mean to advocate Exceptions as the proper means to resolve Input Validation, but I would like to find good reasons why the practice is considered so evil when it seems most alternate solutions are just Exceptions in disguise.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T23:40:47+00:00Added an answer on May 10, 2026 at 11:40 pm

    Reading these answers, I find it very unhelpful to say, ‘Exceptions should only be used for exceptional conditions’. This begs the whole question of what is an ‘exceptional condition’. This is a subjective term, the best definition of which is ‘any condition that your normal logic flow doesn’t deal with’. In other words, an exceptional condition is any condition you deal with using exceptions.

    I’m fine with that as a definition, I don’t know that we’ll get any closer than that anyway. But you should know that that’s the definition you are using.

    If you are going to argue against exceptions in a certain case, you have to explain how to divide the universe of conditions into ‘exceptional’ and ‘non-exceptional’.

    In some ways, it’s similar to answering the question, ‘where are the boundaries between procedures?’ The answer is, ‘Wherever you put the begin and end’, and then we can talk about rules of thumb and different styles for determining where to put them. There are no hard and fast rules.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I understand that they are both supposed to be small, but what are the
I understand that IronPython is an implementation of Python on the .NET platform just
I understand that requests are served by different threads, but do they all come
I've got a query that I've just found in the database that is failing
I understand that some countries have laws regarding website accessibility. In general, what are
I understand that there are several ways to blend XNA and WPF within the
I understand that Microsoft uses this template when versioning their products: Major.Minor.Build.Revision. Major is
I understand that server-side validation is an absolute must to prevent malicious users (or
I understand that an id must be unique within an HTML/XHTML page. For a
I understand that these methods are for pickling/unpickling and have no relation to the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.