python36.dll - Программа перестала работать, из-за проблемы перестала работать программа - PullRequest
0 голосов
/ 17 октября 2018

У меня есть созданный питон для получения входных файлов из папки Windows, и я обновлял лист Excel каждые 15 минут.Программа всегда открыта - работает в фоновом режиме.

Программа работала правильно в течение 2 недель, и внезапно программа закрылась с сообщением об ошибке «Проблема привела к тому, что программа перестала работать правильно и была закрыта». Я проверил файлы журнала и не увидел ни одного сообщения об ошибке.

Я проверил средство просмотра журнала Windows, и в приведенном ниже тексте присутствовала ошибка, которую я не мог правильно интерпретировать. Может кто-нибудь сообщить, пожалуйста, возможные причины этой ошибки.

Программа.exe

0.0.0.0

5a2e9e81

python36.dll

3.6.5150.1013

5abd3161

c00000fd

0000000000041476

1ba8

01d45e9fe43cba57

C: \ Python code \ program.exe

C: \ Users \ aisteam \ AppData \Local \ Temp \ 2_MEI51602 \ python36.dll

a9da018c-e2e3-4821-9387-cce82ff29186

1 Ответ

0 голосов
/ 18 октября 2018

Убедитесь, что ваш код Python надежно обрабатывает ошибки, например, когда файл, который он хочет обновить, заблокирован, что и делает Excel, когда файл открыт в Excel.по своему замыслу вы можете легко заставить свой код каждый раз создавать новый файл Excel или подождать, пока файл не заблокируется, а затем обновить его.В любом случае, вам нужно улучшить свой код, сообщая вам, что он делает, например, регистрируя, что он делает (что важно реализовать сейчас, потому что регистрация должна быть на месте до , когда ваш код останавливаетсянеожиданно по ... ошибочно, по непредвиденной причине), например, путем тщательного управления исключениями (то есть не просто кодируйте как try / исключением: проходите!)

НО не делайте такого рода код с безусловными исключениями иничего, кроме пропуска в операторе "исключение:"), потому что это сделает ошибки сложнее выяснить:

try: something except: pass

Всегда будьте конкретны в отношении ожидаемого исключения, даже если вы собираетесьне повышать, всегда всегда регистрировать исключение.

...