mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2024-10-14 16:32:17 +00:00
Change readme example to catch std::exception (#4)
There are two reasons for this change. 1) The C++ mantra "throw by value, catch by reference" still applies, even when you're only specifically throwing std::system_error at this time 2) Vulkan-Hpp is using C++ stdlib containers, such as std::string and std::vector, which have their own exception specifications to consider. The example provided may throw various exceptions, all of which derive from std::exception, and many will not be std::system_error. This is a serious issue in the readme simply because that snippet of code will be the copy/pasted foundation of many projects which adopt Vulkan-Hpp. We might as well try to avoid some common pitfalls of exception handling.
This commit is contained in:
parent
e1703832d8
commit
6740df4faf
@ -170,7 +170,7 @@ Here are a few code examples:
|
||||
device.allocateMemory(allocateInfo, nullptr);
|
||||
|
||||
}
|
||||
catch (std::system_error e)
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
std::cerr << "Vulkan failure: " << e.what() << std::endl;
|
||||
}
|
||||
@ -223,4 +223,4 @@ NVIDIA is happy to review and consider pull requests for merging into the main t
|
||||
way deemed appropriate. Due to the required paperwork please refrain from providing pull requests for simple changes and file an issue
|
||||
describing a bug or the desired change instead.
|
||||
* Not all pull requests can be or will be accepted. NVIDIA will close pull requests that it does not intend to merge.
|
||||
* The modified files and any new files must include the unmodified NVIDIA copyright header seen at the top of all shipping files.
|
||||
* The modified files and any new files must include the unmodified NVIDIA copyright header seen at the top of all shipping files.
|
||||
|
Loading…
Reference in New Issue
Block a user