《Python网络渗透编程》 课件 2.3 异常处理.pptx
异常处理Exceptionhandling
课堂导入引发错误的原因:程序中的异常:程序运行时引发的错误如零作为除数文件不存在下标越界网络异常这些错误得不到正确的处理将会导致程序崩溃并终止运行
课堂导入异常处理合理使用异常处理结构程序更加健壮,具有更高的容错性不会因为用户不小心的错误而造成程序崩溃为用户提供更加友好的提示界面程序执行过程中出错而在正常控制流之外采取的行为
教学目标掌握实现异常处理的语法。掌握异常处理的逻辑概念及含义。知识目标能力目标学会用Python内置的多种异常类,定义自己的异常类。运用Python多种不同形式的异常处理结构,处理可能发生的错误。
异常处理的基本概念
无法运行易发现解决可以运行错误结果语法错误拼写错误缩进不一致引号或括号不闭合逻辑错误异常处理的基本概念运行时由于某些条件不符合而引发的错误,一旦引发异常并且没有得到有效的处理,一般是直接导致程序崩溃。异常错误输入:60主程序处理输出:优秀!
Python内置的异常类
Python内置的异常类BaseException为所有异常的基类SystemExitKeyboardInterruptGeneratorExitException用户直接拿来使用继承这些类定义自己的异常类
Python内置的异常类Exception为所有非系统退出类异常的基类,Python提倡继承Exception或其子类派生新的异常。
Python内置的异常类Exception下包含异常MemoryError(内存溢出)BlockingIOError(IO异常)SyntaxError(语法错误异常)
异常处理结构举例
异常处理结构举例在python中提供了多种不同形式的异常处理结构基本思路尝试运行代码处理可能发生的错误在实际使用时,可以根据需要来选择使用哪一种
异常处理结构举例——python异常处理结构中最基本的结构try...except...程序的执行流程执行try子句(在try和except关键字之间的部分)没有异常发生except子句在try语句执行完毕后就被忽略
异常处理结构举例如果异常匹配于except关键字后面指定的异常类型就执行对应的except子句,然后继续执行异常处理结构之后的代码try...except...如果在try子句执行过程中发生了异常该子句其余的部分就会被忽略
异常处理结构举例异常匹配于except关键字后面指定的异常类型,就执行对应的except子句,然后继续执行异常处理结构之后的代码try...except...在try子句执行过程中发生了异常该子句其余的部分就会被忽略
异常处理结构举例最终仍找不到对应的处理语句,它就成为一个未处理异常,终止程序运行,显示提示信息try...except...发生了一个异常在except子句中没有与之匹配的分支,它就会传递到上一级try语句中
异常处理结构举例try...except...else...else代表try子句中的代码没有引发异常,则继续执行这里引发异常,这部分就不执行
异常处理结构举例else内的“执行完毕”就可以显示出来当程序出现异常后,就没有显示通过输出结果看到当程序无异常时
异常处理结构举例try...except...finally...从功能上来说,有没有finally子句,在try...except...结构执行完后,都会继续执行后面的语句,使用finally子句将使程序结构更加清晰。finally中的代码常用来做一些清理工作以释放try子句中申请的资源。
异常处理结构举例为了减少代码量,python允许把多个异常类型放到一个元组中,然后使用一个except子句同时捕捉多种异常,并共用同一段异常处理代码。
总结对异常和错误的正确理解Python如何进行异常处理重点:异常处理