Python 2 via exit code, 5352 bytes
n=0
for x in input()+[1]:x*n<0>_;n+=x<1or min(1-max(x,-1,n)
Successful completion for True, error for False.
-1 byte thanks to Arnauld.
Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Visit Stack Exchangen=0
for x in input()+[1]:x*n<0>_;n+=x<1or min(1-max(x,-1,n)
Successful completion for True, error for False.
-1 byte thanks to Arnauld.