Page 1 of 1

Help with IOException: Disk full.

Posted: Thu Dec 02, 2021 8:58 am
by aholla
Hi I am getting this error a lot.

Is there a way I can handle it?

IOException: Disk full. Path /var/mobile/Containers/Data/Application/338447CC-A388-48B8-8C0B-C85CA7370CF8/Documents/SaveFile.es3.tmp

Code: Select all

System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <00000000000000000000000000000000>:0)
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean useAsync) (at <00000000000000000000000000000000>:0)
ES3Internal.ES3Stream.CreateStream (ES3Settings settings, ES3Internal.ES3FileMode fileMode) (at <00000000000000000000000000000000>:0)
ES3Writer.Create (ES3Settings settings, System.Boolean writeHeaderAndFooter, System.Boolean overwriteKeys, System.Boolean append) (at <00000000000000000000000000000000>:0)
ES3.Save[T] (System.String key, T value, ES3Settings settings) (at <00000000000000000000000000000000>:0)
SavedData.SaveProfile (CustomProfile profile) (at <00000000000000000000000000000000>:0)
UICreateScreen.OnConfirmPopup (System.Boolean value) (at <00000000000000000000000000000000>:0)
System.Action`1[T].Invoke (T obj) (at <00000000000000000000000000000000>:0)
UnityEngine.Events.UnityAction.Invoke () (at <00000000000000000000000000000000>:0)
UnityEngine.Events.UnityEvent.Invoke () (at <00000000000000000000000000000000>:0)
UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1].Invoke (T1 handler, UnityEngine.EventSystems.BaseEventData eventData) (at <00000000000000000000000000000000>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at <00000000000000000000000000000000>:0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessTouchPress (UnityEngine.EventSystems.PointerEventData pointerEvent, System.Boolean pressed, System.Boolean released) (at <00000000000000000000000000000000>:0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessTouchEvents () (at <00000000000000000000000000000000>:0)
UnityEngine.EventSystems.StandaloneInputModule.Process () (at <00000000000000000000000000000000>:0)
UnityEngine.EventSystems.StandaloneInputModule:Process()

Re: Help with IOException: Disk full.

Posted: Thu Dec 02, 2021 10:42 am
by Joel
Hi there,

To handle exceptions you need to use a try/catch block.

As this is a question regarding programming in general rather than Easy Save, I recommend asking on forums such as StackOverflow if you require more information on using try/catch blocks.

All the best,
Joel

Re: Help with IOException: Disk full.

Posted: Thu Dec 02, 2021 11:59 am
by aholla
Ah i thought it was kind of related to ES3 as its trying to save and fails.

I wondered if there was any events or callbacks I could listen too or something like that.

I seems like ES3 should have something in place if saving fails to handle this, no?

Re: Help with IOException: Disk full.

Posted: Thu Dec 02, 2021 12:21 pm
by Joel
Hi there,

Exceptions and try/catch blocks are the mechanisms that C# uses to handle these situations, so rather than reinventing the wheel by creating callbacks (which would achieve the same thing but with added complexity) we prefer to use these standard methods. For example:

Code: Select all

try
{
	ES3.Save("mykey", myValue);
	ES3.Save("mykey2", myValue2);
	// etc
}
catch(IOException e)
{
	// Do something, for example show an error message to your user.
}
catch(FileNotFoundException e)
{
	// Do something, for example show an error message to your user.
}
All the best,
Joel

Re: Help with IOException: Disk full.

Posted: Thu Dec 02, 2021 12:54 pm
by aholla
ok thanks :)