# System.file.write error

**URL:** <https://forum.inductiveautomation.com/t/system-file-write-error/6197>\
**Category:** General Discussion\
**Created:** [April 10, 2013, 1:22pm UTC](https://forum.inductiveautomation.com/t/system-file-write-error/6197 "2013-04-10T13:22:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ceidson](https://avatars.discourse-cdn.com/v4/letter/c/9d8465/32.png) [@ceidson](https://forum.inductiveautomation.com/u/ceidson)\
**Post date:** [April 10, 2013, 1:22pm UTC](https://forum.inductiveautomation.com/t/system-file-write-error/6197/1 "2013-04-10T13:22:49Z")

</div>

I had the following error while writing a file to a drive on the Gateway Server, through a script called by a Gateway Timer. This is the first time we’ve seen this error, although the system is young. It left an empty file in the folder which caused quite a bit of grief. Any ideas what could have gone wrong? What can I do to ensure that the file is written correctly? My first thought is to encapsulate the file write in a try…except, and if the exception comes up, delete the file if it exists and try again on the next timer scan. Would this work. Is there a more full-proof and sophisticated solution?

7:35:05 AM

TimerScriptTask

Error executing global timer script: tmrMain @250ms . Repeat errors of this type will be logged as ‘debug’ messages.

Traceback (most recent call last):  
File “\<TimerScript:IFI\_12430\_StackingCell/tmrMain @250ms \>”, line 5, in   
File “module:Robot”, line 157, in WriteFile  
IOError: File ‘\172.18.1.1\StackingPoints\PartData.txt’ doesn’t exist or isn’t a file.

```
at org.python.core.PyException.fillInStackTrace(PyException.java:70)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Unknown Source)
at java.lang.RuntimeException.<init>(Unknown Source)
at org.python.core.PyException.<init>(PyException.java:46)
at org.python.core.PyException.<init>(PyException.java:43)
at org.python.core.PyException.<init>(PyException.java:61)
at org.python.core.Py.IOError(Py.java:182)
at com.inductiveautomation.ignition.common.script.builtin.FileUtilities.writeFile(FileUtilities.java:133)
at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:186)
at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:204)
at org.python.core.PyObject. __call__ (PyObject.java:422)
at org.python.core.PyObject. __call__ (PyObject.java:426)
at org.python.pycode._pyx22.WriteFile$1(<module:Robot>:180)
at org.python.pycode._pyx22.call_function(<module:Robot>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:120)
at org.python.core.PyFunction. __call__ (PyFunction.java:307)
at org.python.pycode._pyx5.f$0(<TimerScript:IFI_12430_StackingCell/tmrMain @250ms >:8)
at org.python.pycode._pyx5.call_function(<TimerScript:IFI_12430_StackingCell/tmrMain @250ms >)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1275)
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:548)
at com.inductiveautomation.ignition.common.script.TimerScriptTask.run(TimerScriptTask.java:93)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
```

---

<div class="post-metadata">

**Author:** ![Travis.Cox](https://avatars.discourse-cdn.com/v4/letter/t/b9bd4f/32.png) [@Travis.Cox](https://forum.inductiveautomation.com/u/Travis.Cox)\
**Post date:** [April 10, 2013, 3:34pm UTC](https://forum.inductiveautomation.com/t/system-file-write-error/6197/2 "2013-04-10T15:34:28Z")

</div>

In that case you should be able to wrap it in a try…except block and delete the file if it throws an exception. It must be some sort of network blip when writing to the file.

---

<div class="post-metadata">

**Author:** ![ceidson](https://avatars.discourse-cdn.com/v4/letter/c/9d8465/32.png) [@ceidson](https://forum.inductiveautomation.com/u/ceidson)\
**Post date:** [April 10, 2013, 4:09pm UTC](https://forum.inductiveautomation.com/t/system-file-write-error/6197/3 "2013-04-10T16:09:53Z")

</div>

The fact that an empty file was written has me confused. The trigger that the robot is looking for is that the file exists, so I’ll have to do something on that end to capture it as well. The location of the file is on the same computer as the gateway. Would it be better to write to D:\Folder instead of \IP\FolderShare?

---

<div class="post-metadata">

**Author:** ![Travis.Cox](https://avatars.discourse-cdn.com/v4/letter/t/b9bd4f/32.png) [@Travis.Cox](https://forum.inductiveautomation.com/u/Travis.Cox)\
**Post date:** [April 10, 2013, 4:17pm UTC](https://forum.inductiveautomation.com/t/system-file-write-error/6197/4 "2013-04-10T16:17:06Z")

</div>

Yes absolutely.
