How to throw error and exit with a custom message in python

后端 未结 4 544
时光取名叫无心
时光取名叫无心 2021-02-03 16:55

I\'ve seen people suggesting sys.exit() in Python. My question is that, is there any other way to exit the execution of current script, I mean termination, with an error.

<
相关标签:
4条回答
  • 2021-02-03 17:14

    Calling sys.exit with a string will work. The docs mention this use explicitly:

    In particular, sys.exit("some error message") is a quick way to exit a program when an error occurs.

    0 讨论(0)
  • 2021-02-03 17:19

    I know this is an old thread, however you can also raise an error like this:

    raise SystemExit('Error: 3 processes cannot run simultaneously.')

    One advantage of this approach is that you don't have to import the Python sys module. This works on Linux with Python 3 and Python 2. I have not tested it on Windows or Mac OS.

    0 讨论(0)
  • 2021-02-03 17:27

    There are 3 approaches, the first as lvc mentioned is using sys.exit

    sys.exit('My error message')
    

    The second way is using print, print can write almost anything including an error message

    print >>sys.stderr, "fatal error"     # Python 2.x
    print("fatal error", file=sys.stderr) # Python 3.x
    

    The third way is to rise an exception which I don't like because it can be try-catch

      raise SystemExit('error in code want to exit')
    

    it can be ignored like this

    try:
      raise SystemExit('error in code want to exit')
    except:
      print("program is still open")
    
    0 讨论(0)
  • 2021-02-03 17:34

    You have to use import sys first

    Then use sys.exit("your custom error message")

    0 讨论(0)
提交回复
热议问题