Я использую PyV8, и я бы хотел запретить назначение объектов javascript для моих объектов python из-за текущего memory leak bug with PyV8. Я пришел upwith этот код:Ошибка PyV8 в JavaScript/получить текущий номер строки
def __setattr__(self, name, val):
if isinstance(val, (PyV8.JSFunction, PyV8.JSObject)):
raise ValueError("Can't put js objects on py values")
object.__setattr__(self, name, val)
Однако, отслеживающий я получаю, когда я делаю это не очень полезно:
Traceback (most recent call last):
File "pyv8-bug-186.py", line 142, in <module>
""")
File "pyv8-bug-186.py", line 75, in run_case
obj = ctxt.eval(js)
ValueError: Can't put js objects on py values
В частности, он не дает никакой информации вообще о том, какие Javascript файл был запущен или что такое номер строки и т. д. Я вижу два возможных решения:
- Получите текущий номер строки javascript и включите его в исключение python.
- Как-то выбросить исключение в javascript, чтобы V8 был тем, который показывает ошибку, которая затем будет включать номера строк.
Как бы я сделал это?