-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Throw for bad param in GetParameterValue
Previous behavior here was to segfault! An exception is much more user-friendly. Add the SWIG machinery for catching thrown exceptions in the SML binding libraries, too. We wrap every SML function with a try/catch. I don't know if this is actually heavy or not, but at least one implementation out there thought it was and went an alternative route where each method has to be explicitly marked to catch exceptions: https://github.com/KiCad/kicad-source-mirror/blob/47e4ebb32a1366d60649879381eac819f7c7131d/common/swig/ki_exception.i#L41 Add tests for TCL, Python and Java that demonstrate the exceptions being translated for each host language. We don't have C# tests yet T_T. Notice we did have to add the `atexit` handler back to prevent a segfault when the exception is not caught correctly; I don't know exactly why. Filed #464. Fixes #451.
- Loading branch information
1 parent
0c644c3
commit 4d7a6e2
Showing
5 changed files
with
121 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.