当前位置: 首页 > news >正文

asp.net网站开发实训百度搜索引擎介绍

asp.net网站开发实训,百度搜索引擎介绍,做网站能赚钱吗表情包,做网站需要接口么目录 1.try... except 结构 2. try... 多个except结构 3. try...except...else结构 4. try...except...finally结构 5. return语句和异常处理问题 5.1 异常处理前的 return 5.2异常处理后的 return 5.3 finally 块中的 return 6.常见的异常 1.try... except 结构 try except 是…

目录

1.try... except 结构

2. try... 多个except结构

3. try...except...else结构

4. try...except...finally结构

5. return语句和异常处理问题

5.1 异常处理前的 return

5.2异常处理后的 return

5.3 finally 块中的 return

6.常见的异常


1.try... except 结构

try except 是最常见的异常处理结构。结构如下:

try:# 可能会引发异常的代码块result = 10 / 0
except ExceptionType as e:# 处理异常的代码块print(f"发生了异常: {e}")
  • try:包含可能会引发异常的代码。如果在 try 块中的代码引发了异常,Python 会跳过 try 块中余下的代码,直接执行 except 块。

  • except:用于捕捉和处理异常。你可以指定要捕获的异常类型,也可以捕获所有异常类型。as e 用于获取异常实例,并可以访问异常消息或其他信息。

  • 执行的时候,如果try块中没有引发异常,则跳过except块继续执行后续代码.

  • 执行的时候,如果try块中发生了异常,则跳过try块中的后续代码,跳到相应的except块中处理异常,异常处理完后,继续执行后续代码。

2. try... 多个except结构

try 块配合多个 except 块可以处理不同类型的异常。每个 except 块负责处理特定类型的异常。

try:# 可能会引发异常的代码result = int("not_a_number")
except ValueError as ve:# 处理 ValueError 异常print(f"值错误: {ve}")
except ZeroDivisionError as zde:# 处理 ZeroDivisionError 异常print(f"除零错误: {zde}")
except FileNotFoundError as fnfe:# 处理 FileNotFoundError 异常print(f"文件未找到: {fnfe}")
except Exception as e:# 捕获其他所有异常print(f"其他异常: {e}")
  • 具体到通用:将最具体的异常类型放在前面,更通用的异常类型放在后面。这确保特定的异常类型能被准确处理。

  • 顺序重要except 块的顺序是重要的。Python 按顺序检查 except 块,从上到下。如果上面的块能处理异常,下面的块将不会执行。

  • 通用异常Exception 用于捕获所有其他异常,但最好先捕获已知的具体异常。

如下例子:

try:value = int(input("请输入一个整数: "))result = 10 / value
except ValueError as ve:print(f"输入无效: {ve}")
except ZeroDivisionError as zde:print(f"不能除以零: {zde}")
except Exception as e:print(f"发生了一个错误: {e}")
else:print(f"计算结果是: {result}")
finally:print("结束处理")

ValueError 处理输入转换错误,ZeroDivisionError 处理除零错误,Exception 捕获所有其他未特定处理的异常。else 块在没有异常时执行,finally 块在 tryexcept 块之后总是执行。

3. try...except...else结构

try...except...else 结构用于更精确地控制异常处理和正常执行的代码块。else 块是在 try 块中的代码没有引发异常时执行的。这个结构可以帮助你在没有异常的情况下执行特定的代码,从而提高代码的清晰度和可维护性。

try:# 可能会引发异常的代码result = 10 / int(input("请输入一个整数: "))
except ZeroDivisionError as zde:# 处理 ZeroDivisionError 异常print(f"除零错误: {zde}")
except ValueError as ve:# 处理 ValueError 异常print(f"输入错误: {ve}")
else:# 没有异常时执行的代码print(f"计算结果是: {result}")
finally:# 无论是否发生异常都会执行的代码(可选)print("处理结束")
  • else:在 try 块中的代码没有引发异常时执行。else 块用于执行那些在没有异常的情况下需要运行的代码。它不会被执行到 except 块处理完所有异常之后才会执行。

4. try...except...finally结构

  • try...except...finally 结构用于在处理异常时确保某些代码始终被执行。这种结构的关键在于 finally 块,它会在 try 块和 except 块执行完毕之后总是被执行,无论是否发生异常。它通常用于资源管理和清理工作,确保即使在发生异常的情况下也能完成必要的清理操作。
  • 用来释放try块中申请的资源

try:# 尝试打开文件并读取内容file = open("example.txt", "r")content = file.read()print(content)
except FileNotFoundError as e:# 处理文件未找到的异常print(f"文件未找到: {e}")
except IOError as e:# 处理其他 I/O 错误print(f"文件读取错误: {e}")
finally:# 确保文件始终被关闭try:file.close()except NameError:# 如果文件打开失败,file 变量可能没有被定义passprint("文件处理完毕")
  • finally:无论是否发生异常,finally 块中的代码都会被执行。这常用于清理资源(如关闭文件、释放锁或关闭数据库连接),确保这些操作总是被执行。

5. return语句和异常处理问题

  • return 语句用于从函数中返回值并结束函数的执行。异常处理则用于捕获和处理运行时错误,防止程序崩溃。return 语句与异常处理的交互可以影响函数的行为,特别是当异常发生时。
  • 由于return有两种作用:结束方法运行、返回值。我们一般不把return放到异常处理结构中,而是放到方法最后.

5.1 异常处理前的 return

如果函数在执行过程中遇到异常,return 语句在异常被捕获之前不会被执行。

def safe_divide(x, y):try:return x / yexcept ZeroDivisionError:return "Cannot divide by zero."

5.2异常处理后的 return

except 块可以在捕获异常后使用 return 语句返回特定值。finally 块中的代码也可以使用 return,但它会覆盖之前的 return

def func(x):try:if x < 0:raise ValueError("Negative value")return x * 2except ValueError:return "Invalid input"finally:print("Cleanup code")  # 总会执行

5.3 finally 块中的 return

except 块可以在捕获异常后使用 return 语句返回特定值。finally 块中的代码也可以使用 return,但它会覆盖之前的 return

def example():try:return 1finally:return 2  # 覆盖前面的 return
def process_value(x):try:if x < 0:raise ValueError("Negative value not allowed.")return x * 10except ValueError as e:return f"Error: {e}"finally:print("Finished processing.")# 使用示例
print(process_value(5))   # 输出: 50
print(process_value(-1))  # 输出: Error: Negative value not allowed.

6.常见的异常

     

异常名

ArithmeticError

所有数值计算错误的基

AssertionError

断言语句失

AttributeError

对象没有这个属

BaseException

所有异常的基

DeprecationWarning

关于被弃用的特征的警

EnvironmentError

操作系统错误的基

EOFError

没有内建输入,到达EOF 

Exception

常规错误的基

FloatingPointError

浮点计算错

FutureWarning

关于构造将来语义会有改变的警

GeneratorExit

生成器(generator)发生异常来通知退

ImportError

导入模块/对象失

IndentationError

缩进错

IndexError

序列中没有此索引(index)

IOError

输入/输出操作失

KeyboardInterrupt

用户中断执行(通常是输入^C)

KeyError

映射中没有这个

LookupError

无效数据查询的基

MemoryError

内存溢出错误(对于Python 解释器不是致命的)

NameError

未声明/初始化对象 (没有属性)

NotImplementedError

尚未实现的方

OSError

操作系统错

OverflowError

数值运算超出最大限

OverflowWarning

旧的关于自动提升为长整型(long)的警

PendingDeprecationWarning

关于特性将会被废弃的警

ReferenceError

弱引用(Weak reference)试图访问已经垃圾回收了的对

RuntimeError

一般的运行时错

RuntimeWarning

可疑的运行时行为(runtime behavior)的警

StandardError

所有的内建标准异常的基

StopIteration

迭代器没有更多的

 

异常名

SyntaxError

Python 语法错

SyntaxWarning

可疑的语法的警

SystemError

一般的解释器系统错

SystemExit

解释器请求退

TabError

Tab 和空格混

TypeError

对类型无效的操

UnboundLocalError

访问未初始化的本地变

UnicodeDecodeError

Unicode 解码时的错

UnicodeEncodeError

Unicode 编码时错

UnicodeError

Unicode 相关的错

UnicodeTranslateError

Unicode 转换时错

UserWarning

用户代码生成的警

ValueError

传入无效的参

Warning

警告的基

WindowsError

系统调用失

ZeroDivisionError

(或取模)(所有数据类型)

http://www.hkea.cn/news/978358/

相关文章:

  • 中国网站制作 第一个佛山网站优化
  • thinkphp做的教育网站微商引流推广
  • 做特卖网站手机版电商最好卖的十大产品
  • 怎样做网站平叿trinseo公司
  • 北京大兴最专业的网站建设公司如何推广一个项目
  • 网页设计最牛的网站建设宁波网站优化公司哪家好
  • 建设通查询如何做网站推广及优化
  • 城乡建设网站首页百度seo收录软件
  • 永久免费建个人网站培训网站建设
  • 如何使用jq做弹幕网站好用的磁力搜索引擎
  • 南充营销型网站建设高端品牌网站建设
  • 制作小程序和网站的公司搜狗收录提交入口网址
  • 手机站电影基础建站如何提升和优化
  • 江苏 网站备案百度贴吧官网app下载
  • 网站制作三站湖南网站seo公司
  • 简单做任务赚钱网站企业管理培训课程报名
  • 零点研究咨询集团官方网站建设相似图片在线查找
  • 网站开发需要什么软件关键词app
  • 360全景网站建设做了5天游戏推广被抓了
  • 政府网站建设经验典型材料河源今日头条新闻最新
  • 为什么要进行网站备案佛山市人民政府门户网站
  • 摄影网站开发背景百度app交易平台
  • 吉林网站建设石家庄百度快照优化排名
  • 大学生网站开发总结报告app推广接单发布平台
  • 自己做的网站怎么推广seo顾问培训
  • 怎么做业务网站百度搜索提交入口
  • 网页设计网站图片西安百度推广运营公司
  • 济南网站开发推广网络服务包括
  • 五星级酒店网站建设关键词歌词表达的意思
  • 浙江高端建设网站网站关键词如何优化