项目15 Python异常处理(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)
2023-07-31
|
20页
|
156人阅读
|
33人下载
普通
内容正文:
项目15 Python异常处理
编程基础——Python语言 /// ///
请编写一段程序,对一个IP段或单个IP主机进行网络端口扫描,以判断端口是否开放,如果端口开放则打印端口开放信息,对网络主机不存在或主机、端口关闭的状态产生的报错不做任何处理。
任务29 网络端口扫描器——异常处理应用
任务描述
任务分析
通过用户输入的IP、IP段或端口进行遍历,利用Python内置函数socket( )与目标端口进行socket连接,如果能够连接上则可判断该端口为开放,反之则为关闭。
编程基础——Python语言 /// ///
知识准备
在编写Python程序过程中,语法错误是一种常见的错误,通常是指程序的写法不符合编程语言的规定。在Python中,最为常见的语法错误有如下几种。
1.代码拼写错误
在编写Python程序的过程中,关键字、变量名或函数名可能会出现拼写错误。当关键字拼写错误时,系统会提示SyntaxError(语法错误); 当变量名、函数名拼写错误时,系统会在运行时给出NameError的错误提示。
2.程序不符合Python语法规范
在编写Python程序的过程中,经常会发生程序不符合Python语法规范的情形。
6.1 语法错误
编程基础——Python语言 /// ///
3.缩进错误
Python 语言的语法比较特殊,其中最大的特色是将缩进作为程序的语法,采用代码缩进和冒号来区分代码之间的层次。虽然缩进的数量是可变的,但是所有代码块语句必须包含相同的缩进数量,这个规则必须严格执行。
如果在程序的运行过程中引发了未进行处理的异常,程序就会因为异常而终止运行。只有在程序中捕获了这些异常并进行相关的处理,才不会中断程序的运行。
1.使用try…except语句处理异常
在Python中,可以使用try…except语句处理异常。在处理时需要检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果不想在异常发生时结束程序,则只需在try语句块中捕获它即可。使用try…except语句处理异常的基本语法格式如下:
6.2 处理异常
编程基础——Python语言 /// ///
try:
<语句块1>
except [ExceptionName[as alias]]:
<语句块2>
参数说明:
语句块1: 可能出现错误的代码块。
ExceptionName[as alias]: 可选参数,用于指定需要捕获的异常,其中ExceptionName表示要捕获的异常名称,如果在其右侧加上as alias,则表示为当前的异常指定一个别名,通过该别名,可以记录异常的具体内容。
编程基础——Python语言 /// ///
2.使用try…except…else语句处理异常
在Python中,可以使用try…except…else 语句处理异常。其功能是当try语句块中没有发现异常时将执行else语句后的语句。
try…except…else语句的语法格式如下:
try:
<语句1〉
except:
<语句2〉
…
else:
<语句3> #如果没有异常发生,则执行这行语句
编程基础——Python语言 /// ///
3.使用try…except…finally语句处理异常
在Python程序中,可以使用try…except…finally语句处理异常。
try…except…finally语句的语法格式如下:
try:
<语句1> #可能要发生异常的代码
except [ExceptionName[as alias]]: #要处理的异常
<语句2>
finally: #异常处理语句
<语句3>
在上述格式中,except部分可以省略。无论异常发生与否,finally中的语句都会被执行。
编程基础——Python语言 /// ///
1.使用raise语句抛出异常
在Python程序中,可以使用raise语句抛出一个指定的异常。
raise语句的语法格式如下:
6.3 抛出异常
raise [ExceptionName[(reason)]]
其中,ExceptionName[(reason)]为可选参数,用于指定抛出的异常名称,以及对异常信息的相关描述。如果省略该参数,就会把当前的错误原样抛出。如果仅省略(reason),则在抛出异常时,不附带任何的异常描述信息。
也就是说,raise语句有如下三种常用用法。
raise: 单独一个raise。该语句抛出当前上下文中捕获的异常(如在except块中),或者默认抛出RuntimeError异常。
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。