當前位置:編程學習大全網 - 編程語言 - python運行了壹個for語句,但是提示名稱沒有定義,求解

python運行了壹個for語句,但是提示名稱沒有定義,求解

python中的異常異常是指程序中的例外,違例情況。異常機制是指程序出現錯誤後,程序的處理方法。當出現錯誤後,程序的執行流程發生改變,程序的控制權轉移到異常處理。Exception類是常用的異常類,該類包括StandardError,StopIteration,GeneratorExit,Warning等異常類。StandardError類是python中的錯誤異常,如果程序上出現邏輯錯誤,將引發該異常。StandardError類是所有內斂異常的基類,放置在默認的命名空間中,因此使用IOEroor,EOFError,ImportError等類,不需要導入exception模塊。StopIteration類判斷循環是否執行到尾部,如果循環到尾部,則拋出該異常。GeneratorExit類是由Generator函數引發的異常,當調用close()時引發該異常。Warning類表示程序中的代碼引起的警告。python中的異常使用繼承結構創建,可以在異常處理程序中捕獲基類異常,也可以捕獲各種子類異常,python中使用tryexcept語句捕獲異常,異常子句定義在try子句後面。tryexcept的使用方法tryexcept用於處理問題語句,捕獲可能出現的異常。try子句中的代碼塊放置可能出現異常的語句,except子句中的代碼塊處理異常。演示tryexcept語句捕獲IOError異常try:file("hello.txt","r")#如果文件不存在,引發異常print"讀文件"exceptIOError:#捕獲IO異常print"文件不存在"except:#其它異常print"程序異常"python與Java的異常處理模式相似,異常處理語句也可以嵌套,演示如下:try:s="hello"try:prints[0]+s[1]prints[0]-s[1]exceptTypeError:print"字符串不支持減法運算"except:print"異常"如果外層try子句中的代碼引發異常,程序將直接跳轉到外層try對應的except子句,而內部的try子句將不會被執行。tryfinally的使用方法tryexcept後還可以添加壹個finally子句。無論異常是否發生,finally子句都會被執行。所有的finally子句通常用於關閉因異常而不能釋放的系統資源。try:f=open("hello.txt","r")try:printf.read(5)except:print"讀文件異常"finally:print"釋放資源"f.close()exceptIOError:print"文件不存在"使用raise拋出異常當程序出現錯誤,python會自動引發異常,也可以通過raise顯示地引發異常。壹旦執行了raise語句,raise後面的語句將不能執行。演示raise用法try:s=NoneifsisNone:print"s是空對象"raiseNameError#如果引發NameError異常,後面的代碼將不能執行printlen(s)exceptTypeError:print"空對象沒有長度"自定義異常python允許程序員自定義異常,用於描述python中沒有涉及的異常情況,自定義異常必須繼承Exception類,自定義異常按照命名規範以"Error"結尾,顯示地告訴程序員這是異常。自定義異常使用raise語句引發,而且只能通過人工方式觸發。from__future__importdivisionclassDivisionException(Exception):def__init__(self,x,y):Exception.__init__(self,x,y)#調用基類的__init__進行初始化self.x=xself.y=yif__name__=="__main__":try:x=3y=2ifx%y>0:#如果大於0,則不能被初始化,拋出異常printx/yraiseDivisionException(x,y)exceptDivisionException,div:#div表示DivisionException的實例對象print"DivisionExcetion:x/y=%.2f"%(div.x/div.y)assert語句的使用assert語句用於檢測某個條件表達式是否為真。assert語句又稱為斷言語句,即assert認為檢測的表達式永遠為真,if語句中的條件判斷都可以使用assert語句檢測。

  • 上一篇:廠電工工作計劃5篇
  • 下一篇:事務管理的意義
  • copyright 2024編程學習大全網