Title: Managed exception from Python code is always transformed to PythonException · Issue #1443 · pythonnet/pythonnet · GitHub
Open Graph Title: Managed exception from Python code is always transformed to PythonException · Issue #1443 · pythonnet/pythonnet
X Title: Managed exception from Python code is always transformed to PythonException · Issue #1443 · pythonnet/pythonnet
Description: Environment Pythonnet version: 3.0.0 preview Python version: 3.8 win32 Operating System: Windows .NET Runtime: .NET 5 Summary If there is a callback from .NET to Python, and the Python code raises a .NET type exception, instead of the co...
Open Graph Description: Environment Pythonnet version: 3.0.0 preview Python version: 3.8 win32 Operating System: Windows .NET Runtime: .NET 5 Summary If there is a callback from .NET to Python, and the Python code raises ...
X Description: Environment Pythonnet version: 3.0.0 preview Python version: 3.8 win32 Operating System: Windows .NET Runtime: .NET 5 Summary If there is a callback from .NET to Python, and the Python code raises ...
Opengraph URL: https://github.com/pythonnet/pythonnet/issues/1443
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Managed exception from Python code is always transformed to PythonException","articleBody":"### Environment\r\n\r\n- Pythonnet version: 3.0.0 preview\r\n- Python version: 3.8 win32\r\n- Operating System: Windows\r\n- .NET Runtime: .NET 5\r\n\r\n### Summary\r\n\r\nIf there is a callback from .NET to Python, and the Python code raises a .NET type exception, instead of the corresponding real .NET exception was rethrown on the .NET side (after marshalling), always `Python.Runtime.PythonException` is thrown.\r\n\r\n### Details\r\n\r\n.NET snippet\r\n```C#\r\nclass Foo\r\n{\r\n public static void Bar(Action action)\r\n {\r\n try\r\n {\r\n action.Invoke();\r\n Console.WriteLine(\"No exception.\");\r\n }\r\n catch (NullReferenceException)\r\n {\r\n Console.WriteLine(\"Null reference caught.\");\r\n }\r\n catch (Exception ex)\r\n {\r\n Console.WriteLine(\"General exception caught: \" + ex.GetType().Type); \r\n }\r\n }\r\n}\r\n```\r\n\r\nPython snippet\r\n```Python\r\n# .NET imports\r\nfrom System import NullReferenceException, Action\r\nfrom MyProgram import Foo\r\n\r\n# Preparation\r\ndef call():\r\n raise NullReferenceException()\r\n\r\naction = Action(call)\r\n\r\n# Action\r\nFoo.Bar(action)\r\n```\r\n\r\nExpected output:\r\n`Null reference caught.`\r\n\r\nActual output:\r\n`General exception caught: Python.Runtime.PythonException`","author":{"url":"https://github.com/tibortakacs","@type":"Person","name":"tibortakacs"},"datePublished":"2021-04-16T19:14:47.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":7},"url":"https://github.com/1443/pythonnet/issues/1443"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:e8c47508-e9f8-62dd-9ec8-cc3e8bf4c51d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C67E:30D218:3E47DCA:546F6E0:69708427 |
| html-safe-nonce | f69dc851039a66b3fe366166504cccb3d02870adf16ca1ddb526803b71bcea40 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNjdFOjMwRDIxODozRTQ3RENBOjU0NkY2RTA6Njk3MDg0MjciLCJ2aXNpdG9yX2lkIjoiNjk1OTI5MjY4MTUxMTAxMTM2NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | c1e3961c93d580d6e3e5b6dce9b145070e14ad862561354c8ca897f300744169 |
| hovercard-subject-tag | issue:860098572 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/pythonnet/pythonnet/1443/issue_layout |
| twitter:image | https://opengraph.githubassets.com/c7b8df92ebc2520f8ae39450ebc75e9cb9f2a6e608d5563850a753fe2d113040/pythonnet/pythonnet/issues/1443 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/c7b8df92ebc2520f8ae39450ebc75e9cb9f2a6e608d5563850a753fe2d113040/pythonnet/pythonnet/issues/1443 |
| og:image:alt | Environment Pythonnet version: 3.0.0 preview Python version: 3.8 win32 Operating System: Windows .NET Runtime: .NET 5 Summary If there is a callback from .NET to Python, and the Python code raises ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | tibortakacs |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9920a62ba22d06470388e2904804fb7e5ec51c9e35f81784e9191394c74b2bd2 |
| turbo-cache-control | no-preview |
| go-import | github.com/pythonnet/pythonnet git https://github.com/pythonnet/pythonnet.git |
| octolytics-dimension-user_id | 6050430 |
| octolytics-dimension-user_login | pythonnet |
| octolytics-dimension-repository_id | 14748123 |
| octolytics-dimension-repository_nwo | pythonnet/pythonnet |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 14748123 |
| octolytics-dimension-repository_network_root_nwo | pythonnet/pythonnet |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7d6181066430cc06553c8396ca201e194ae33cb9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width