当前位置: 首页 > news >正文

异常处理。

异常

是指程序运行中出现了错误。

捕获异常:

对bug进行提醒,使整个程序继续运行。

捕获所有异常:

try:#可能出错的代码
except:如果出现异常执行的代码

可以输出异常的类型:

try:a=1b='huish'print(a+b)
except Exception as i:print('error',i)#error unsupported operand type(s) for +: 'int' and 'str'

捕获多个异常

可以把要捕获的异常类型写在except()括号中:

try:a=1b='huish'print(a+b)
except(NameError,TypeError)as i:print('error',i)

 异常else:

try:a=1b=3print(a+b)
except(NameError,TypeError)as i:print('error',i)
else:print('无异常出现')

异常finally:

表示无论是否出现异常都要执行的代码。

try:a=1b='ygbu'print(a+b)
except(NameError,TypeError)as i:print('error',i)
else:print('无异常出现')
finally:print('无论异常是否都会执行。')#error unsupported operand type(s) for +: 'int' and 'str'
#无论异常是否都会执行。

异常具有传递性

def fun1():num=1/0def fun2():fun1()def main():try:fun2()except Exception as i:print('error',i)main()#error division by zero

模块的导入方式:

语法:

from 模块名 import 模块/类/变量/函数/*  as  别名

常用的组合形式如下:

  1. import 模块名
  2. from 模块名 import 类/变量/方法
  3. from 模块名 import *
  4. import 模块名 as 别名
  5.  from 模块名 import 功能名 as  别名

import 类名:

import time
print('123')
time.sleep(5)
print('456')

 from 模块名 import 功能名:

针对某一个功能去使用

from time import sleep
print('123')
sleep(5)
print('456')

 from 模块名 import *:

导入模块的所有方法,不用写time.sleep(),直接写sleep()

from time import *
print('123')
sleep(5)
print('456')

as定义别名:

import time as i
print(123)
i.sleep(5)
print(456)

自定义模块:

模块一:

def sum(a,b):print(a+b)

模块二导入模块一:

import homeworkhomework.sum(1,2)

__main__变量:

if __main__=="__main__"表示,只有当程序是直接执行的才会进入if内部,如果是被导入的则if无法进入。

main1模块:

def sum(a,b):print(a+b)if __name__=='__main__':sum(1,2)

main2模块导入main1:

import main1
main1.sum(2,3)#5

 若不书写main,则输出的是3  5,因为导入main1模块时,会先自动运行main1

__all__变量:

main1模块:

__all__=['sum']
#all变量是一个列表,其他模块用*导入main1时,只能导入all中所写的方法。def sum(a,b):print(a+b)def fun(a,b):print(a*b)

main2模块导入main1模块:

from main1 import *sum(1,2)#main2只能使用main1中的sum方法

http://www.lryc.cn/news/360417.html

相关文章:

  • MySQL—函数(介绍)—字符串函数(基础)
  • CTF本地靶场搭建——静态flag题型的创建
  • 基于Django的博客系统之用HayStack连接elasticsearch增加搜索功能(五)
  • 开源VS闭源:大模型发展路径之争,你站哪一派?
  • Python | Leetcode Python题解之第115题不同的子序列
  • STM32高级控制定时器应用之检测输入PWM周期和占空比
  • [AI Google] 三种新方法利用 Gemini 提高 Google Workspace 的生产力
  • 【U-Net验证】逐元素乘积将特征投射到极高维隐式特征空间的能力
  • 快团团大团长帮卖如何导出单个团购的订单?免费教程教你怎么做!
  • services层和controller层
  • Pycharm编辑器下自定义模块导入报错:no module named问题
  • C#使用GDI对一个矩形进行任意角度旋转
  • 打印机的ip不同且连不上
  • 关于linux程序的查看、前台运行、后台运行、杀死的管理操作。
  • STM32作业设计
  • PHPSTOM配置Laradock,xdebug,phpunit
  • 使用Java进行数据分析和处理:应用在实际业务场景中的技术
  • C++中的List
  • go map 如何比较两个 map 相等
  • 牛客网刷题 | BC108 反斜线形图案
  • 数据的表示和运算
  • 【爬虫工具】油管视频批量采集软件
  • 【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名
  • 使用python绘制小提琴图
  • 【C++】6-7 你好,输出的格式控制(三角形)
  • 力扣每日一题 6/1
  • 决定短视频打开率的要素:成都鼎茂宏升文化传媒公司
  • 解决通过包管理器下载 Sharp 时遇到的二进制文件下载问题
  • 反序输出c++
  • C++ 封装线程池(结合QT支持信号机制)