Проект, в котором я сейчас участвую, использует JavaCv/OpenCv для распознавания лиц. Поскольку OpenCv иногда выдает ошибку, а распространение ошибок OpenCv/C++ в исключения Java еще не полностью функционально, это означает сбой основного цикла Java без возможности восстановления.
Тем не менее, код дает в основном точные результаты, и, поскольку мы запускаем его в большой базе данных, я испек быстрый пакетный сценарий вокруг выполнения, чтобы он продолжался, а код Java внутренне управляет id
, чтобы убедиться, что он продолжается с только после того, как он разбился.
:RETRY
java -Xmx1024m -jar Main.jar
IF ERRORLEVEL 1 GOTO RETRY
EXIT 0
Однако иногда я получаю всплывающее окно с ошибкой выполнения, как показано ниже:
Библиотека времени выполнения Microsoft Visual C++
Ошибка выполнения!
Программа: C:\Windows\System32\java.exe
Это приложение запросило необычное завершение среды выполнения. Пожалуйста, свяжитесь со службой поддержки приложения для получения дополнительной информации.
В этот момент выполнение кода останавливается до тех пор, пока не будет нажато всплывающее окно, что действительно раздражает, поскольку это означает, что мой код не может работать без моего присмотра за ним.
Я нашел этот вопрос, который в основном задает одно и то же. Для этого вопроса существует принятое решение, но поскольку я Я не работаю напрямую с C++, я не понимаю, как я могу это реализовать.
Есть ли пакетное решение этой проблемы? Есть ли решение на уровне Java/JavaCv для обнаружения ошибок C++, исходящих от OpenCv? Любое другое решение?