ERROR: The sketch path is not set

This feels like an amateur question but I can’t seem to solve. I’m on Ubuntu 18.04 and have this issue with both Processing 3.5.4 as well as 4.0

When I try to run a sketch I get the following error:

The sketch path is not set.
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at processing.core.PApplet.runSketch(PApplet.java:10275)
	at processing.core.PApplet.main(PApplet.java:10083)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at processing.core.PApplet.runSketch(PApplet.java:10269)
	... 1 more
Caused by: java.lang.RuntimeException: Files must be loaded inside setup() or after it has been called.
	at processing.core.PApplet.createInputRaw(PApplet.java:6687)
	at processing.core.PApplet.createInput(PApplet.java:6659)
	at processing.core.PApplet.loadStrings(PApplet.java:7122)
	at things_explained_simply.<init>(things_explained_simply.java:18)
	... 6 more
RuntimeException: java.lang.reflect.InvocationTargetException

Any suggestions for how to solve?

java.lang.RuntimeException: Files must be loaded inside setup()

From that, I am guessing you have a line using loadStrings() in your definitions, outside of a function.
You can initialize your string array as String[] strArray; or assign to null then use loadStrings() in setup().

If that is not the case, please post a minimal piece of code that causes the error.