<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>
    ???? Python ???
    ??13?? ??
    ???? ?????? ????

    ??????

    ????????raise??? ???? ???????????????/?????????????? ?????? ?????????????????????????¡Â???????Error??Exception??????????????

    ?????????

    ??13.2 ?????????

    #!/usr/bin/python
    # Filename: raising.py


    class ShortInputException(Exception):
        '''A user-defined exception class.'''
        def __init__(self, length, atleast):
            Exception.__init__(self)
            self.length = length
            self.atleast = atleast


    try:
        s =
    raw_input('Enter something --> ')
        if len(s) < 3:
            raise ShortInputException(
    len(s), 3)
        # Other work can continue as usual here
    except EOFError:
        print '\nWhy did you do an EOF on me?'
    except ShortInputException, x:
        print 'ShortInputException: The input was of length %d, \
              was expecting at least %d'
    % (x.length, x.atleast)
    else:
        print 'No exception was raised.'

    ??????code/raising.py??

    ???

    $ python raising.py
    Enter something -->
    Why did you do an EOF on me?

    $ python raising.py
    Enter something --> ab
    ShortInputException: The input was of length 2, was expecting at least 3

    $ python raising.py
    Enter something --> abc
    No exception was raised.

    ????¦É???

    ???????????????????????????????????????????¦Ê?????????/????????¦Ì?????????ShortInputException??????????????length??????????????atleast???????????????§³?????

    ??except????§µ??????????????????????????/???????????????????????§Ö??¦Â¦Ê???¦È?????????????????except????§µ???????????????length??atleast????????????????????????


    ???? ????? ????
    try..except ??? try..finally
    ?????
    @ssv 97av