Giter VIP home page Giter VIP logo

Comments (4)

asuessenbach avatar asuessenbach commented on July 16, 2024

I think, this is a good idea. I will introduce them in the next couple of days.

from vulkan-hpp.

RippeR37 avatar RippeR37 commented on July 16, 2024

I'm glad you liked it. I was thinking on how this should be implemented because standard exception classes doesn't inherit virtually, so we can't simply make:

vk::Error : std::exception
vk::SystemError : Error, std::system_error
vk::OutOfDeviceMemoryError : SystemError

and I've came up with couple ideas but none were perfect. Above implementation tries to:

  • achieve backwards compatibility with existing code (exceptions inherit from std::logic_error or std::system_error)
  • not double-inherit anything
  • allow for grouping of Vulkan-Hpp exceptions and catch only them
  • use existing STL exceptions like std::logic_error and std::system_error so that systems that work with them can be used here too
  • expose some API to get exception message in base Vulkan-Hpp exception class

It's not perfect but without virtual inheritance between STL exceptions I think we can't do better.

P.S. I haven't updated vulkan.hpp there because for some reasons rebuilding it on my system changes each line, even without any changes...

from vulkan-hpp.

asuessenbach avatar asuessenbach commented on July 16, 2024

Regarding the changes on every line: this is probably due to a different end-of-line setting on your end. We're using CR/LF (Windows-style).

from vulkan-hpp.

asuessenbach avatar asuessenbach commented on July 16, 2024

Resolved with pull-request #99.

from vulkan-hpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.