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 8068689
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 5, 20262026-06-05T12:46:20+00:00 2026-06-05T12:46:20+00:00

This is the first time I’m writing a library (for me to use on

  • 0

This is the first time I’m writing a library (for me to use on several games) so I think for good programming practice I should comment my code throughly, adding XML summary and use exception handling when user of this library done something wrong like in many .NET classes (the user will likely be me or my teammates)

This is the constructor for NoteRow class (I’m developing music games, by the way) which needs to determine the array’s size on creation

bool[] l1NoteData;
public NoteRow(int numberOfNotes)
{
     this.l1NoteData = new bool[numberOfNotes];
}

Now I have this method to toggle the booleans on l1NoteData array.

public void toggleNote(uint index)
{
     l1NoteData[index] = !l1NoteData[index]
}

So here as defensive programming I’d like to check that the index (that user of this class will specify, which is me or maybe my teammates) is out of range specified when creating this class or not.

I’ve read MANY throw exception vs. assert vs. return bool etc. and still confused and can’t choose. Here is my concern :

  • Should I putting ‘if’ statement to check if index is exceeding l1NoteData.length then fire an exception when it is, knowing that exception will fire anyway when that line executed with ‘out of range’ index? (IndexOutOfRangeException) If so then what is the use of throwing exception? If something goes wrong there will be a default exception anyway?
  • I’ve read that Assert is for programmer. To notice the programmer that the code is not working as the programmer assume. And one can never inject a test case to make the assert fire (if it is fired then the code is wrong) compared to throwing exception which is there to handle abnormal test case (by user). Now the user of this library will be me. So I’m considered a programmer or user? I, as a user of this class may call toggleNote and input index exceeding the limit of array so the exception will be thrown. Or I,as a programmer of my games (this library is the part of my game) should put assert there so I’m not make a mistake of calling toggleNote with over-the-limit index from my game. (that use this library) I can now know the game’s code is wrong because assert is fired then fix it and finally made into release build. (and then the assert code will be gone)
  • From question above, if I test thoroughly that I’m sure there is no more bug that cause assert to run then go in to release build. I know that assert will not in the code in release build… but is that really good? There are probably more bugs remain in the program so now when user experience that bug, the assert isn’t there to catch the bug anymore. So is assert really good thing to use when I can use exception instead and if user cause that exception to fire, I as a developer can receive that bug report to fix it etc. (but the user is me and my friends)
  • Throwing exception is 100% better than returning bool to indicate success/failure? What example can you think that is more appropriate to returning bool?

Sorry for my confusing English because I’m already confused with this problem…

  • 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. Editorial Team
    Editorial Team
    2026-06-05T12:46:21+00:00Added an answer on June 5, 2026 at 12:46 pm

    Assert is just for testing. Asserts are not used for error handling in a production application

    You should pre-check (if) if the input is coming from the user, errors are expected etc.

    If an error is completely unexpected, then that is what exception handling is for.

    If your own program is providing the index parameter, then it is a bug if the wrong value is passed. Exceptions are fine for this.

    Several good questions have been asked on this

    Are exceptions really for exceptional errors?

    Debug.Assert vs Exceptions

    Exceptions vs "if" in C#

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

Sidebar

Related Questions

This is my first time that I use WCF and Android. So, sorry for
This is the first time, I am involved in writing a complete client for
This is my first time working with a WPF datagrid. From what I understand
this is my first time asking a question here. I tried to be well
This is my first time using XML documents. What I'm trying to do is
This is my first time playing with Active Directory, as well as the Ajax
This is my first time using this site and I am quite new to
This is the first time I got this error. This code basically gets the
This is my first time here and I am a beginner so kindly bear
This is my first time trying to set up a database. My intent is

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.