I've been receiving ERA exceptions on Storage.setValue calls that are irreproducible in the simulator, any ideas on preventing/fixing them?

Report:

Error Name: Unhandled Exception
Occurrences: 4
First Occurrence: 2021-03-08
Last Occurrence: 2021-03-09
Devices:
vívoactive® 3: 7.70
App Versions: 1.10.9
Languages: eng
Backtrace:
FastingWidgetApp.initialize:58

Code:

52 function initialize() {
53     AppBase.initialize();
54 
55     fasting_duration_hours = Storage.getValue("fasting_duration_hours");
56     if (fasting_duration_hours == null) {
57         fasting_duration_hours = 13;
58         Storage.setValue("fasting_duration_hours", fasting_duration_hours); // ERA error report: "Unhandled Exception"
59     }

Been receiving reports prior to this one in the Fenix 5 family of devices and Vivoactive 3. No report of this happening in any other devices.
Any idea how I can prevent this exception from being thrown? I can use a Try - Catch, but then what? I still need to store the data for the widget to be functional.

My questions are:
- Is there a way to check for Storage limitations that are device specific? As I said in the Simulator I cannot reproduce this.
- Is there a way to simulate a device with an almost-full storage?