Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Throw for bad param in GetParameterValue #465

Open
wants to merge 1 commit into
base: development
Choose a base branch
from

Commits on May 22, 2024

  1. 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.
    garfieldnate committed May 22, 2024
    Configuration menu
    Copy the full SHA
    4d7a6e2 View commit details
    Browse the repository at this point in the history