Python入门教程(三十一)Python的Try和Except
作者:轻松学Python 发布时间:2022-02-26 01:21:14
标签:Python,Try,Except
try
块允许您测试代码块以查找错误。
except
块允许您处理错误。
finally
块允许您执行代码,无论 try 和 except 块的结果如何。
异常处理
当我们调用 Python 并发生错误或异常时,通常会停止并生成错误消息。
可以使用 try 语句处理这些异常:
实例
try 块将生成异常,因为 x 未定义:
try:
print(x)
except:
print("An exception occurred")
运行实例
由于 try 块引发错误,因此会执行 except 块。
如果没有 try 块,程序将崩溃并引发错误:
实例
该语句将引发错误,因为未定义 x:
print(x)
多个异常
您可以根据需要定义任意数量的 exception 块,例如,假如您要为特殊类型的错误执行特殊代码块:
实例
如果 try 块引发 NameError,则打印一条消息,如果是其他错误则打印另一条消息:
try:
print(x)
except NameError:
print("Variable x is not defined")
except:
print("Something else went wrong")
运行实例
Else
如果没有引发错误,那么您可以使用 else 关键字来定义要执行的代码块:
实例
在本例中,try 块不会生成任何错误:
try:
print("Hello")
except:
print("Something went wrong")
else:
print("Nothing went wrong")
运行实例
Finally
如果指定了 finally 块,则无论 try 块是否引发错误,都会执行 finally 块。
实例
try:
print(x)
except:
print("Something went wrong")
finally:
print("The 'try except' is finished")
运行实例
这对于关闭对象并清理资源非常有用
实例
试图打开并写入不可写的文件:
try:
f = open("demofile.txt")
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
运行实例
程序可以继续,而且不会打开文件对象。
引发异常
作为 Python 开发者,您可以选择在条件发生时抛出异常。
如需抛出(引发)异常,请使用 raise 关键词。
实例
假如 x 小于 0,则引发异常并终止程序:
x = -1
if x < 0:
raise Exception("Sorry, no numbers below zero")
运行实例
raise 关键字用于引发异常。
你能够定义所引发异常的类型、以及打印给用户的文本。
实例
如果 x 不是整数,则引发 TypeError:
x = "hello"
if not type(x) is int:
raise TypeError("Only integers are allowed")
运行实例
来源:https://blog.csdn.net/ooowwq/article/details/129412386
0
投稿
猜你喜欢
- variables_to_restore函数,是TensorFlow为滑动平均值提供。之前,也介绍过通过使用滑动平均值可以让神经网络模型更加
- 实例如下所示:#!/usr/bin/python# -*- coding: UTF-8 -*-import reimport urllib,
- CSV文件简单来说CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗
- PHP join() 函数实例把数组元素组合为一个字符串:<?php $arr = array('Hello',
- 本文给出了MySQL数据库中定义外键的必要性、具体的定义步骤和相关的一些基本操作,供大家参考!定义数据表假如某个电脑生产商,它的数据库中保存
- WAP站点,这似乎是一个有点落伍的东西。在诞生之初,它很简陋,只能通过一个叫WML的标记语言来搭建没有任何美感的文字+链接页面。而今,绝大部
- 如何用表单的方式推送请求的信息?具体见下:<html><head><title>答复用户信息
- 实验环境:windows 7,anaconda 3(Python 3.5),tensorflow(gpu/cpu)函数介绍:标准化处理可以使
- 1.如何通过地址栏参数来得到模块名称和控制器名称(即使在有路由和开了重写模块的情况下)2.tp是如何实现前置,后置方 * 能模块,和如何执行带
- 前言双端队列deque支持从任意一端增加和删除元素。其中,栈和队列就是双端队列的退化形式,它们的输入输出被限制在某一端。基本用法首先,我们来
- HTML 5 和 XHTML 2规范草稿公布以来,一直存在很大的争议。HTML 5是由包括Google、Mirosoft、Mozilla、O
- 一、常见的异常1、NameError 未定义变量异常print(a)# 输出:NameError: name 'a' is
- 在Oracle 8i中,往往会出现要在存储过程中运行操作系统命令的情况。一般来说,利用Oracle Enterprise Manager设定
- 本文实例讲述了JS+HTML5 canvas绘制验证码。分享给大家供大家参考,具体如下:css样式:<style>body{ &
- 因为工作(懒惰),几年了,断断续续学习又半途而废了一个又一个技能。试着开始用博客记录学习过程中的问题和解决方式,以便激励自己和顺便万一帮助了
- 一、私有化上篇说过封装,既将我们不想让别人看到代码的内容,但是又需要用到的内容,通过类内部调用来实现调用。说到这里却不得不提一下上篇的:cl
- 如下所示:# -*- coding: utf-8 -*-# 要求:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。def
- 看起来现在经常用到这样的效果来提高用户体验,所以就没事写了一个输入框提示列表的效果使用宽屏的朋友麻烦帮忙测试下,列表的位置有没有错位。代码可
- 一个简单的tokenizer分词(tokenization)任务是Python字符串处理中最为常见任务了。我们这里讲解用正则表达式构建简单的
- 分离结构与表现的另一个重要方面是使用语义化的标记来构造文档内容。一个 XHTML 元素的存在就意味被标记内容的那部分有相应的结构化的意义,没