Sorry, but I can't tell what code you are running other than to take at face value what you post. There is nothing wrong with the try..except..finally code as you posted it except for the comments. Comments aside, the code you posted cannot have caused the error trace you posted as the error trace shows the offending line as line 98 but the code you posted has the offending code at line 100. Can you post the exact error trace and the exact code that caused that error trace.
Gary On Wednesday, 16 April 2025 at 16:28:18 UTC+10 messyp...@gmail.com wrote: > Of course they're commented out, when I uncomment [any] of them it exits / > crashes. I need it to run until I can have someone tell me what's wrong / > why the module crashes weewx. Duh. > > > On Wed, Apr 16, 2025 at 12:13 AM gjr80 <gjrod...@gmail.com> wrote: > >> In the extension.py you posted the try..except..finally is not executed >> as each of the try..except..finally lines is commented out. >> >> Gary >> >> On Wednesday, 16 April 2025 at 14:31:01 UTC+10 messyp...@gmail.com wrote: >> >>> I read several add'l values in from static files. Every once in a great >>> while, one of the files has extraneous character in it and it can't be read >>> as a float() and extensions.py crashes weewx. So after reading about >>> try/except/finally from several sources, I wanted to put the section where >>> it reads the float in a try statement, and if it fails, the exception >>> action is to assign a nominal float value for that weewx cycle, and write >>> it to the database. However when I put in the try: it immediately causes >>> weewx to exit, at all debug levels. >>> If you are more knowledgeable on Python 3 than I am, please look at my >>> extensions.py attachment and tell me how I need to restructure that code >>> block so it will work. Note, I have tried a couple different positions for >>> the initial try: block, no success. >>> Further note please, that this only applies to the lines where I >>> open '/home/pi/cputemp-opi5p.dat' and read the value into degf2 for it to >>> store it in 'extraTemp7'. Note further that this code is working for all >>> seven parameters being read and placed into the data, however, occasionally >>> (about once a week), somehow the system reads in erroneous data (such >>> as '94.8\x00' instead of '94.8') and causes the python to exit. >>> I have looked at places where this data is created and cannot find any >>> evidence of that invalid value. >>> >>> Here is the pertinent part of the log at failure time: >>> pi@PI4B1:~ $ systemctl status weewx >>> ● weewx.service - WeeWX weather system >>> Loaded: loaded (/etc/systemd/system/weewx.service; enabled; vendor >>> preset: enabled) >>> Active: failed (Result: exit-code) since Tue 2025-04-15 16:00:16 >>> CDT; 4h 18min ago >>> Docs: https://weewx.com/docs >>> Process: 268425 ExecStart=/home/weewx/bin/weewxd >>> /home/weewx/weewx.conf (code=exited, status=1/FAILURE) >>> Main PID: 268425 (code=exited, status=1/FAILURE) >>> CPU: 4h 37min 25.648s >>> >>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__: >>> **** self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD, >>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__: >>> **** File "/home/weewx/bin/weewx/engine.py", line 245, in dispatchEvent >>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__: >>> **** callback(event) >>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__: >>> **** File "/home/weewx/bin/user/extensions.py", line 98, in >>> new_archive_packet >>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__: >>> **** degf2 = float(float(f.read())) #this is OPI5P >>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__: >>> **** ValueError: could not convert string to float: '94.8\x00' >>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__: >>> **** Exiting. >>> Apr 15 16:00:16 PI4B1 systemd[1]: weewx.service: Main process exited, >>> code=exited, status=1/FAILURE >>> Apr 15 16:00:16 PI4B1 systemd[1]: weewx.service: Failed with result >>> 'exit-code'. >>> Apr 15 16:00:16 PI4B1 systemd[1]: weewx.service: Consumed 4h 37min >>> 25.648s CPU time. >>> >>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "weewx-user" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/weewx-user/cM4T6W4XjdA/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> weewx-user+...@googlegroups.com. >> To view this discussion visit >> https://groups.google.com/d/msgid/weewx-user/62c17a5a-d508-4322-8458-c20941a0f45en%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/62c17a5a-d508-4322-8458-c20941a0f45en%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/weewx-user/d9a3336a-129e-40df-b302-bff44a9eafdan%40googlegroups.com.