[oeasy]python065python报错怎么办_try_试着来_except_发现异常

简介: 本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括:1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。

python报错怎么办_try_试着来_except_发现异常

回忆上次内容

  • 上次回顾了
  • shell环境
  • python3游乐场
  • vim编辑器
  • 以及他们之间的切换

  • 准备 编辑个 好玩的程序

编辑文件

  • 每个 苹果 2公斤
  • 根据 苹果数量
  • 算出 苹果份量

a = input("How many apples do you have:")

weight = a * 2

print("You have ",weight, "kg apples.")

  • 尝试运行

结果

  • 尝试运行
  • 注意其中的数字是运行时输入的!

  • 3个苹果
  • 理论上是6公斤
  • 现在 怎么就33公斤了呢?🤔

深入调试

  • :!pdb3 %

  • 输入函数input的返回值类型
  • 是字符串str
  • 字符串乘法 用的是 拼接法
  • 导致结果出错

求助

  • 需要将 输入的 苹果数量
  • 从 字符串类型 (str)
  • 转化为 整数类型 (int)

尝试转化

a = input("How many apples do you have:")

weight = int(a) * 2

print("You have ",weight, "kg apples.")

  • 修改之后 问题解决

  • 但是
  • 如果 输入的数值
  • 无法转化 为 数字 呢?
  • 比如 输入的 苹果数量 是
  • 字符串"abc"
  • int("abc")会发生什么??😱

错误输入

  • 输入了abc

  • 怎么办 呢?

问问ai

  • 直接 把报错信息
  • 复制出来

  • 告诉ai

ai结果

  • 新关键字 try

试着来

  • try
  • 试着来
  • try后面跟 冒号
  • 就像 之前的 for和if
  • <font color="red">注意!!!</font>
  • 冒号
  • 英文半角
  • except 后面也是

try:

   # 接收用户输入苹果数量

   a = input("How many apples do you have:")

   # 将输入转换为整数并乘以 2 得到重量

   weight = int(a) * 2

   # 打印结果

   print("You have ", weight, "kg apples.")

except ValueError:

   print("Please enter a valid integer.")

  • 冒号后面有缩进
  • 缩进的是
  • 需要try的 内容
  • 缩进 4字符
  • 怎样
  • 快速 缩进 来着?

TAB 空格数量

  • 缩进距离 不多不少
  • 4字符刚好

  • 使用 键盘中的Tab
  • 进行缩进
  • vim 会把 \t
  • 转化为4个空格

  • 就像 for循环 冒号后面
  • 需要缩进 一样
  • try 也需要 缩进
  • 为什么要使用try

try的必要性

  • 使用python就像科学小实验
  • 你不知道会发生什么异常

  • 有了try就可以试着做
  • 并且 能够处理各种情况

try

  • 输出结果

  • 我想 把错误下来
  • 不报错🤪
  • 可以么?

不报错

  • <font style="color:red;font-size:48px;">这不行!!!😡</font>
  • 异常错误 不处理不行
  • 要明确地报错
  • 要明确地处理
  • 知道哪里错了
  • 才好修改

  • 如果 假装 没犯错
  • 就会 失去处理线索
  • 会犯 更大的错误
  • 错误
  • 到时候 就算想改
  • 也不知道 怎么改了
  • 绝对让人 彻底崩溃

对应禅语

import this

  • 错误 不应被 悄悄传递
  • 除非 你确定 需要这样做

  • 精准地 捕获异常
  • 不写 except:pass 风格的代码
  • 那什么是
  • except:pass 风格的代码呢?

异常飘过

try:

   a = input("How many apples do you have:")

   weight = int(a) * 2

   print("You have ",weight, "kg apples.")

except:

   pass

  • 知错不报错
  • 虽然 except接收到了错误
  • 但是 轻轻飘过pass

  • 上面这种是最要命的
  • 让人没法追踪trace的痕迹
  • 无法调试debug!
  • 无语问苍天😭!
  • pass、try、except也是关键字吗?

如何查看关键字

新关键字

help("keywords")

  • 新关键字增加了

  • 去总结

总结

  • 这次学习了
  • try
  • except
  • try着  尝试着 运行
  • 一旦发现了 错误
  • 就 终止 try中的执行
  • 直接跳转到
  • except块

  • 注意要点
  1. 半角冒号
  2. 缩进
  3. 错误信息输出
  • 有错 就报
  • 不要 忽略、隐瞒
  • 否则 找不到 出错位置
  • 究竟 应该如何理解
  • try...except...呢?🤔
相关文章
|
1月前
|
数据库 Python
[oeasy]python066_如何捕获多个异常_try_否则_else_exception
本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
54 24
|
24天前
|
人工智能 数据库 开发者
[oeasy]python068_异常处理之后做些什么_try语句的完全体_最终_finally
介绍了 Python 中 `try` 语句的完全体,包括 `try`、`except`、`else` 和 `finally` 子句的使用。通过实例展示了如何捕获异常并输出详细的错误信息,如文件名和行号。特别强调了 `finally` 子句的作用,无论是否发生异常,`finally` 都会执行,常用于清理操作。最后总结了 `try` 语句的四个部分及其应用场景,并简要提及了 Python 社区的决策机制。 #try #except #else #finally
23 1
|
4月前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
103 5
|
7月前
|
Python
|
7月前
|
Python
Python 中的 try 和 except 块
【8月更文挑战第29天】
107 6
|
9月前
|
开发者 Python
在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行
【6月更文挑战第26天】在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行。基本结构包括尝试执行可能抛出异常的代码,然后指定`except`来捕获特定或任何类型的异常。`else`块在`try`无异常时执行,`finally`块确保无论是否发生异常都会执行,例如用于清理。可以使用`raise`重新抛出异常,而自定义异常则允许创建特定的错误类。这种机制增强了代码的健壮性。
136 7
|
9月前
|
定位技术 Python
Python的try、except异常处理模块使用方法
所以,我们就解决了由于可能具有的arcpy.ExecuteError异常而导致的程序中断问题;大家在实际使用时,按照自己程序中可能出现的报错类,对本文出现的arcpy.ExecuteError异常类加以修改即可。
|
10月前
|
存储 开发者 Python
Python从入门到精通:2.2.1异常处理与文件操作——学习try/except语句进行异常处理
Python从入门到精通:2.2.1异常处理与文件操作——学习try/except语句进行异常处理
182 3
|
10月前
|
Python
python中的异常处理(try,except,else, finally)
python中的异常处理(try,except,else, finally)
126 0

热门文章

最新文章