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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T08:04:19+00:00 2026-06-10T08:04:19+00:00

I am C# developer and I’d like to use factory pattern to create objects

  • 0

I am C# developer and I’d like to use factory pattern to create objects that represent file or directory on hard disk. FileInfo and DirectoryInfo are classes in .NET used for that purpose but instead of them I’d like to have my own IFileInfo and IDirectoryInfo interfaces that wraps them. The reason for using custom interfaces rather than built in classes is because I’d like to add some additional properties such as file shell icon etc…

So I’d like to use factory pattern to create instances of IFileInfo and IDirectoryInfo for a given string of a file/directory path.

So factory class would look something like:

public class MyFileInfoFactory
{
    IFileInfo Create(string filePath)
    {
        System.IO.FileInfo file = new System.IO.FileInfo(filePath);

        // turn FileInfo to my IFileInfo etc...
    }
}

Now looking at System.IO.FileInfo docs (FileInfo MSDN) I see there are several possible exceptions that can be thrown. My question is should I handle all these exceptions in the factory Create() method? Or should I let them propagate upwards to whichever code is calling MyFileInfoFactory.Create()?

If first solution is way to go, then what would be the next step? For example should I return null or possibly throw some custom exception with InnerException property set to the actual exception thrown from new FileInfo() constructor?

Just wondering what would be the best practice in this concrete scenario case…

  • 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-10T08:04:21+00:00Added an answer on June 10, 2026 at 8:04 am

    You should handle an exception, in general, under two circumstances:

    1. You know how to handle it and recover from the error. Without any outside intervention, and you wish to do so in a manner than is transparent to the calling code.
    2. You want to wrap the exception in your own exception. This is useful if you need to communicate additional information to the calling code or if the particular exception might not be terribly important to the calling code (though you should always include it as the innerException parameter in the exception’s constructor).

    So, for any of the exceptions that could be thrown (and don’t consider the exception list in MSDN to be exhaustive…a lot of that stuff is boilerplate, unfortunately), if you don’t know how to recover from it silently and don’t want to wrap it in your own exception, then don’t handle it and let it bubble up.

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

Sidebar

Related Questions

While developer a client side application I ran into an error that I believe
http://developer.android.com/tools/publishing/app-signing.html I have a keystore that I already have an alias and password for.
http://developer.yahoo.com/yui/button More specifically, I want radio buttons. that can be checked/unchecked.
Another developer has given me an algorithm that returns a series of strings that
Developer Documentations doesn't provides fully describe of registerForDraggedTypes method. For example, i want that
Another developer created a stored procedure that is set up to run as a
The developer documentation has seemed to have failed me here. I can create a
Every developer on my team has their own local configuration. That configuration information is
Another developer tells me that there is a MySQL ConnectorJ option which can be
Apple developer document has the QTKit examples. I have noticed that it is only

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.