Umieszczam IronPython 2.0 w języku C#. W IronPython, ja zdefiniowane własne wyjątek z:Wyławianie wyjątku Ironpythona w języku C#
def foobarException(Exception):
pass
i podnieść go gdzieś z:
raise foobarException("This is the Exception Message")
Teraz w C#, mam:
try
{
callIronPython();
}
catch (Exception e)
{
// How can I determine the name (foobarException) of the Exception
// that is thrown from IronPython?
// With e.Message, I get "This is the Exception Message"
}
Czy próbowałeś tego z debuggerem? Powinieneś zobaczyć typ wyjątku lub wyjątek wewnętrzny lub gdziekolwiek przechowywany jest faktyczny wyjątek Pythona. – OregonGhost
Tak, próbowałem z debuggerem, ale nie mogłem go znaleźć. Chodzi o to, że pracował z IronPythonem 1.1. Kiedy dobrze pamiętam w e.Data ["PythonExceptionInfo"] faktycznie był python exception.message. W e.Message była nazwa wyjątku. – foobar