我们平时经常会碰到一些报错信息,特别是对于入门的敲代码选手来说,碰到报错嘎嘎头大,但我们要知道它们是程序执行过程中的常态而非例外。本篇文章,就让我们一起来了解一下错误和异常,在平时编程过程中正确理解和有效处理错误与异常,保证程序健壮性。
目录
一、错误和异常的概念
Python错误大致分为两类:错误(Errors)和异常(Exceptions)。错误与异常是编程中用来描述程序运行过程中出现问题的两种不同概念,它们共同构成了程序错误处理的重要组成部分。下面分别介绍错误与异常的概念及其在编程中的角色:
类别 | 描述 | 示例 | 控制能力 | 处理方式 | 结果 |
---|---|---|---|---|---|
错误(Errors) | |||||
严重问题 | 与编程语言、操作系统、硬件故障或资源限制相关 | 内存溢出、磁盘空间不足、系统级错误 | 非程序员可控 | 无法通过编程手段(如异常处理)恢复 | 程序终止 |
异常(Exceptions) | |||||
预期外情况 | 程序运行中遇到的非预期但可预见的情况 | 编程逻辑错误(如除数为零)、用户输入错误、外部服务故障、文件不存在、数据库操作失败 | 程序员可控 | 通过编程语言提供的异常处理机制(如Python的try-except ) |
程序从异常状态恢复并继续执行 |
总结:
- 错误:严重、不可控的系统级问题,导致程序直接终止,我们主要靠预防,养成良好的编程习惯避免错误,以及在设计层面考虑容错和降级方案。
- 异常:可预见、可处理的程序运行时问题,我们可以通过异常处理机制捕获、处理并恢复,使程序在遇到问题时仍能继续运行。
二、异常的处理
Python的异常处理机制是一种编程策略,它允许程序在遭遇预期或非预期错误时,优雅地捕获、处理这些错误,而不是立即停止执行。这种机制通过特殊的语法结构(如try-except
语句)来实现。
1、try-except
try
部分:包含可能抛出异常的代码块。当这段代码执行时,如果发生异常,程序立即跳转到与之匹配的except
子句。except
部分:用于捕获并处理try
块中抛出的异常。可以指定捕获特定类型的异常,如: