Pycharm异常处理案例

文章详细介绍了Python中异常处理的各种方法,包括try-except结构,自定义异常,不同类型的错误如ValueError和ZeroDivisionError,以及默认异常处理。通过实例演示了如何捕获并处理这些错误以保证程序的健壮性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 1.无措处理方案
try:
    age = int(input("请输入您的年龄:"))
except ValueError:
    pass  # 无操作处理
 
 
def input_word():
    # 提示用户输入密码
    pwd = input("请输入一个三位数:")
    # 如果密码长度>=2,返回用户输入的密码
    if len(pwd) >= 3:
        return pwd
    # 如果 < 3 主动抛出异常
    print("主动抛出异常")
    # 1> 创建异常对象
    ex = Exception("数字长度不够")
    # 2> raise 主动抛出异常
    raise ex
 
 
# 提示用户输入密码
try:
    print(input_word())
except Exception as result:
    print(result)
 
    # 3.finally扫尾工作处理方案
    try:
 
        a = int(input("请输入 a 的值:"))
 
        print(20 / a)
 
    except:
 
        print("发生异常!")
 
    else:
 
        print("执行 else 块中的代码")
 
    finally:
 
        print("执行 finally 块中的代码")
 
# 4.自定义异常处理案例
 
x = input('请输入一个两位数:')
y = input('请输入一个个位数数:')
try:
    a = int(x)
 
    if a < 20:
        raise ZeroDivisionError
    b = int(y)
 
    if b == 0:
        raise ZeroDivisionError
 
    c = a / b
except ZeroDivisionError:
    print('自定义异常处理类')
except ValueError:
    print('检查输入字符串是否为可转换为整数。')
except ZeroDivisionError:
    print('除以 0 错误。')
else:
    print('没有错误。')
finally:
    print('程序执行完毕。')
 
# 5. 常见异常处理
try:
    num1 = int(input("请输入第一个数字: "))
    num2 = int(input("请输入第二个数字: "))
    result = num1 / num2
    print("结果:", result)
 
except ValueError as ve:
    print(f"数值输入错误: {ve}")
 
except ZeroDivisionError as zde:
    print(f"除数不能为零: {zde}")
 
# 6. 默认异常处理方案
try:
    file = open("不存在的文件.txt", "r")
except Exception as e:
    print(f"默认异常处理: {e}") 

结果如下:

### PyCharm 中图像处理无法显示图片窗口的解决方案 在 PyCharm 中进行图像处理时,如果发现图片窗口无法正常弹出,可能是由于以下几个原因引起的。以下是详细的分析和解决方法: #### 1. **SciView 设置问题** PyCharm 的 SciView 功能可能导致图形无法以独立窗口的形式展示。可以通过调整设置来解决问题。 - 打开 `File -> Settings` 窗口。 - 寻找并定位到 `Tools -> Python Scientific` 配置项。 - 取消选中右侧候选框中的选项(通常为启用 SciView 的功能)。 完成上述操作后重新运行程序即可恢复正常行为[^1]。 #### 2. **Matplotlib 后端配置错误** 默认情况下,Matplotlib 使用的是嵌入式的绘图后端(如 `TkAgg`, `Qt5Agg` 或其他 GUI 工具包支持的后端)。如果未正确指定后端,则可能会导致窗口无法弹出。 可以在脚本开头显式声明所需的 Matplotlib 后端: ```python import matplotlib matplotlib.use('TkAgg') # 替换为适合系统的后端,例如 'Qt5Agg' import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.show() ``` 注意:不同的操作系统可能需要不同的后端支持。例如,在 Windows 上推荐使用 `TkAgg`,而在 Linux 和 macOS 上则可以选择 `Qt5Agg` 或其他兼容的后端。 #### 3. **依赖库版本冲突** 有时高版本的 Python 或 NumPy 库会引发兼容性问题,从而影响图像处理的功能实现。可以尝试降级至稳定版本以排除此类干扰。 例如,将 Python 版本降至低于 3.10,并安装匹配的低版本 NumPy 库能够有效缓解部分异常情况的发生[^3]。 执行以下命令用于卸载现有库以及重装特定版本: ```bash pip uninstall numpy python-opencv pip install numpy==1.21 opencv-python-headless==4.5.5.64 ``` > 提醒:以上示例仅作参考,请依据实际需求选取合适的软件组合。 #### 4. **环境变量缺失或路径配置不当** 确保开发环境中已正确定义所有必要的动态链接库文件位置。对于某些高级特性而言,缺少这些资源同样会造成渲染失败等问题。 验证 OpenCV 是否被成功加载的一种方式如下所示: ```python import cv2 print(cv2.__version__) ``` 假如输出为空白或者抛出了 ImportError 错误消息,则表明当前环境下尚未完全准备好所需组件[^2]。 --- ### 总结 通过修改 IDE 参数禁用科学视图模式、合理选用图表引擎驱动类型、优化第三方模块间协作关系等方式均有助于改善此现象。最终目标是要让整个流程顺畅运作起来,使得每次调用都能获得预期效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值