raise 觸發異常

  1. 使用以下 raise 語法,自行觸發異常。
    1. Exception:異常的類型,例如:NameError。
    2. args:自行提供的異常參數。
    3. trackback:如果存在,跟踪異常對象。
    raise [Exception [, args [, traceback]]]
    
  2. 範例:一個異常可以是一個字串、類別(class),python 內建的異常大多是類別。觸發異常後,後面的程式碼就不會再執行。
    def functionName( level ):
        if level < 1:
            raise Exception("Invalid level!", level)
    
  3. 實例:定義一個異常函式 myerr,傳入的參數 level 小於 1,就會觸發異常 Exception,參數是 "Invalid level!"。
    [dywang@dywIssd py]$ vim raise1.py 
    [dywang@dywIssd py]$ cat raise1.py 
    #!/usr/bin/python
    #coding:utf-8
    def myerr( level ):
        if level < 1:
            raise Exception,"Invalid level!"
    
    try:
        myerr(0) 
    except Exception,err:
        print 1,err
    else:
        print 2
    
  4. 執行結果:呼叫 myerr 時傳入 0,觸發異常,輸入自訂的異常 "Invalid level!" 。
    [dywang@dywIssd py]$ chmod +x raise1.py
    [dywang@dywIssd py]$ ./raise1.py 
    1 Invalid level!