The “correct” way to define an exception in Python without PyLint complaining

前端 未结 3 1190
长发绾君心
长发绾君心 2021-02-12 01:43

I\'m trying to define my own (very simple) exception class in Python 2.6, but no matter how I do it I get some warning.

First, the simplest way:

class My         


        
3条回答
  •  灰色年华
    2021-02-12 02:03

    Your first way should work. I use it myself all the time in Python 2.6.5. I don't use the "message" attribute, however; maybe that's why you're getting a runtime warning in the first example.

    The following code, for example, runs without any errors or runtime warnings:

    class MyException(Exception):
        pass
    
    def thrower():
        error_value = 3
        raise MyException("My message", error_value)
        return 4
    
    def catcher():
        try:
            print thrower()
        except MyException as (message, error_value):
            print message, "error value:", error_value
    

    The result:

    >>> catcher()
    My message error value: 3
    

    I don't know if PyLint would have a problem with the above.

提交回复
热议问题