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

  • Home
  • SEARCH
  • 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 7750581
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T11:19:41+00:00 2026-06-01T11:19:41+00:00

Let’s assume that you read in a large XML file and about 25% of

  • 0

Let’s assume that you read in a large XML file and about 25% of the nodes are optional, so you really don’t care if they are there, however, if they are provided to you, you would still read them in and do something with them (store them in a db for example).

Since they are optional, isn’t it OK in this case to wrap them in empty try . . . catch blocks, so in the event that they are not there, the program just continues execution? You don’t care about throwing an error or anything similar.

Keep in mind that just because they are optional does not mean you don’t want to check for them. It just means that the person providing you with the XML either doesn’t want you to know certain information or they do want you to know and it is up to you to handle it.

Finally, if this was just a few nodes, it wouldn’t be a big deal, but if you have 100 nodes that are optional for example, it can be a pain to check if each one is null first or halting execution if a null was found, hence the reason why I asked if this is valid reason for empty try catch statements.

  • 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-01T11:19:42+00:00Added an answer on June 1, 2026 at 11:19 am

    If processing node X is optional then your code should looks something like:

    if(node X exists in file)
    {
      do work with X
    }
    

    and not:

    try
    {
      do work with X
    }
    catch{}
    

    Now if there is no way to determine if node X exists other than to try to use it, or if it’s possible for node X to be removed after you check to see if it’s there, then you’re forced to use the try/catch model. That isn’t the situation here. (As opposed to say, checking if a file exists before reading it; someone can delete it after you check to see if it’s there.)

    ————————————————————

    Edit:

    Since it seems your issue is to access node “grandchild” alone in the following XML in which ‘Parent’ may not exist. (Please excuse my poor ability to render this XML in SO; knowledgeable readers feel free to edit in the appropriate formatting.)

    <root>
      <Parent>
        <Child>
          <GrandChild>
            The data I really want.
          </GrandChild>
        </Child>
      </Parent>
    </root>
    

    For that I’d do something like this:

    public static class XMLHelpers
    {
    public static Node GetChild(this Node parent, string tagName)
    {
      if(parent == null) return null;
      return parent.GetNodeByTagName(tagName);
    }
    }
    

    Then you can do:

    var grandbaby = rootNode.GetChild("Parent").GetChild("Child").GetChild("GrandChild");
    if(grandbaby != null)
    {
      //use grandbaby
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Let's assume that we are building a high traffic site that will be used
Let's assume that a user votes for some movies in a scale of 1
Let me try to explain what I need. I have a server that is
Let's say I'm writing a PHP (>= 5.0) class that's meant to be a
Let's say that we have an ARGB color: Color argb = Color.FromARGB(127, 69, 12,
Let's say I have a text file composed like this ##### typeofthread1 ##### typeofthread2
Let's say I have multiple requirements for a password. The first is that the
Let's say that I have a date in R and it's formatted as follows.
Let's say you have a class library project that has any number of supplemental
Let's say I want to write a function that validates an email address with

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.