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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T21:21:46+00:00 2026-05-10T21:21:46+00:00

I am developing a wrapper for a third party function library that is interfacing

  • 0

I am developing a wrapper for a third party function library that is interfacing with some special hardware. So basically, I want to encapsulate the dll functions (bool Connect(), void Disconnect() etc) in a MyHardwareObject with connect- and disconnect methods.

The Connect function from the dll can throw some specific exceptions, for example when the hardware is not present. For the application, the information on why the connect method failed is considered unimportant, so the additional information contained in the exception is not needed.

What is the best way of handling those exceptions, returning false, or leaving the exception unhandled here and catch it on the level that would otherwise handle the fact that the connect method returnded false?

 bool MyHardwareObject.Connect() {     try     {         ThirdPartyLibrary.Connect();     }     catch (SomeException)     {         return false;     }     return true; } 

As opposed to

 bool MyHardwareObject.Connect()  {     ThirdPartyLibrary.Connect();     return true; } 

(or in the second case better void MyHardwareObject.Connect(), since we either return true, or throw an exception?)

Or what else would you do? And most important: Why?

  • 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-10T21:21:46+00:00Added an answer on May 10, 2026 at 9:21 pm

    It’s really difficult to choose wisely between exceptions and return codes. It depends on a lot of things, and how errors are handled in the rest of your codebase would be the most important one – stay consistent.

    Lately, I’m leaning more towards the ‘don’t throw an exception if it’s not worth it’. Our exceptions do a lot of work: they log stuff, they create stack traces, etc. If I just want to convert a string to an integer, throwing an exception if the input string has the wrong format is probably not worth it. On the other hand, I have objects that I simply don’t want in my system if they can’t be constructed from proper data, and in that case their constructors throw exceptions.

    If the rest of the codebase does not give you any hint on how to do it, I like this rule of thumb: imagine that throwing an exception makes your computer emit a loud beep. As long as you can put up with it, throwing is fine.

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

Sidebar

Ask A Question

Stats

  • Questions 66k
  • Answers 66k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Look at transform() with method set to QUAD https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.transform im.transform(size,… May 11, 2026 at 11:38 am
  • added an answer Im assuming that 'selectbox' is equivalent to an HTML 'select'… May 11, 2026 at 11:38 am
  • added an answer Read this: Why are thread safe collection so hard? A… May 11, 2026 at 11:38 am

Related Questions

I am developing a wrapper for a third party function library that is interfacing
I am developing a Reporting Services solution for a DOD website. Frequently I'll have
I am developing a web site and need to see how it will look
I am developing a website that relies much on XML data. The web site
I am developing a GPL-licensed application in Python and need to know if the
I am developing a web page code, which fetches dynamically the content from the
I am developing a C++ class library containing domain model classes, and I would
I am developing a web app which requires a username and password to be
I am developing a Win32 application and I would like to use an RSA
I am developing a Windows .NET application (WinForms) and I need to simulate a

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.