python中的 try

### Python `try` 语句的用法 #### 基本结构 在 Python 中,`try` 语句用于捕获并处理程序运行期间可能出现的异常情况。基本语法如下: ```python try: # 可能引发异常的代码块 except SomeExceptionType as e: # 处理特定类型的异常 else: # 如果没有发生任何异常,则执行此部分 finally: # 不管是否有异常都会被执行的部分 ``` #### 示例一:捕捉单个异常类型 当尝试转换字符串到整数失败时会抛出 `ValueError` 异常[^4]。 ```python def convert_to_int(s): try: result = int(s) print(f"成功转换: {result}") except ValueError as ve: print(f"无法转换 '{s}' 到整数: {ve}") convert_to_int("123") # 成功转换: 123 convert_to_int("abc") # 无法转换 'abc' 到整数: invalid literal for int() with base 10: 'abc' ``` #### 示例二:多个异常类型的捕捉 有时可能需要针对不同种类的异常采取不同的措施。 ```python import math def calculate_square_root(num_str): try: num = float(num_str) sqrt_result = math.sqrt(num) print(sqrt_result) except ValueError: print("输入不是一个有效的数字.") except OverflowError: print("数值太大以至于无法计算平方根.") calculate_square_root("-9") # 输入不是一个有效的数字. calculate_square_root("inf") # 数值太大以至于无法计算平方根. ``` #### 示例三:使用 `else` 和 `finally` 如果希望某些代码仅在未触发异常的情况下才执行,并且无论是否发生了异常都需要做一些清理工作,则可以利用 `else` 和 `finally` 子句。 ```python file_path = "example.txt" try: file_handler = open(file_path, mode='r') content = file_handler.read() print(content[:5]) # 打印文件开头部分内容 except FileNotFoundError: print(f"{file_path} 文件不存在") else: print("读取完成") finally: if 'file_handler' in locals(): file_handler.close() print("已关闭文件") # 即使文件存在也会先打印前五个字符,接着显示“读取完成”,最后总是会有“已关闭文件”的提示。 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值