首页 > 其他分享 >第七章异常处理

第七章异常处理

时间:2024-07-17 10:07:33浏览次数:6  
标签:处理 代码 except int 第七章 print input 异常

Bug的由来及分类

语法错误
知识点不熟练:练习练习再练习
思路不清晰:
(1)使用print函数(2)使用#暂时注释


Pathon中的异常处理机制

try:
   可能会出现异常的代码
except  异常类型:
   异常处理代码(报错后执行的代码)
try:
   可能会出现异常的代码
except  异常类型A:
   异常处理代码(报错后执行的代码)
except  异常类型B:
   异常处理代码(报错后执行的代码)
点击查看代码
示例7-9try-except的使用
try:
   num1=int(input('请输入一个整数:'))
   num2 = int(input('请输入一个整数:'))
   result=num1/num2
   print('结果为:',result)
except ZeroDivisionError:
    print('除数为0')

示例7-10多个except结构
try:
    num1 = int(input('请输入一个整数:'))
    num2 = int(input('请输入一个整数:'))
    result = num1 / num2
    print('结果为:', result)
except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('不能将字符串转为数字')
except BaseException:
    print('未知异常')
try:
   可能会出现异常的代码
except  异常类型:
   异常处理代码(报错后执行的代码)
else :
   没有抛异常处理代码
try:
   可能会出现异常的代码
except  异常类型:
   异常处理代码(报错后执行的代码)
else :
   没有抛异常处理代码
finally:
   无论是否产生异常都要出来的代码
点击查看代码
示例7-11try-execpt-else的使用
try:
    num1 = int(input('请输入一个整数:'))
    num2 = int(input('请输入一个整数:'))
    result = num1 / num2

except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('不能将字符串转为数字')
except BaseException:
    print('未知异常')
else:
    print('结果为:', result)

示例7-12try-except-else-finally的使用
try:
    num1 = int(input('请输入一个整数:'))
    num2 = int(input('请输入一个整数:'))
    result = num1 / num2

except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('不能将字符串转为数字')
except BaseException:
    print('未知异常')
else:
    print('结果为:', result)
finally:
    print('程序执行结束')

一、raise关键字
raise [Exception类型(异常描述信息)]

点击查看代码
示例7-13raise关键字的使用
try:
    gender=input('请输入您的性别:')
    if gender!='男' and gender!='女':
        raise Exception('性别只能为男或女')
    else:
        print('您的性别是:',gender)
except Exception as e:
    print(e)

二、Pathon中常见的异常类型

点击查看代码
示例7-14常见的异常类型的产生
#(1)ZeroDivisionError
#print(10/0)

#(2)IndexError
# lst=[10,20,30,90]
# print(lst[4])

#(3)KeyError
# d={'name':'ysj','age':'20'}
# print(d['gender'])

#(4)NameError
#print(hello)

#(5)SyntaxError
#print('hello)

#(6)ValueError
#print(int('a'))

#(7)AttributeError
# i=10
# print(i.name)

#(8)TypeError
# print('hello'+123)

#(9)IndentationError
   #print('hello')

最大异常放最后


Pycharm的程序调试

调试步骤:
1、设置断点
2、进入调试窗口
3、开始调试

点击查看代码
示例7-15被调试的代码
i=1
while i<10:
    print(i)
    i+=1#改变变量的值

点击查看代码
实战一:
try:
 score=int(input('请输入分数:'))
 if 0<=score<=100:
    print('分数为:',score)
 else:
     raise Exception('分数不正确')
except Exception as e:
    print(e)


点击查看代码
实战二
try:
    a=int(input('请输入第一条边:'))
    b=int(input('请输入第二条边:'))
    c=int(input('请输入第三条边:'))
    if a+b>c and c+b>a and a+c>b:
        if abs(a-b)<c and abs(a-c)<b and abs(b-c)<a:
            print(f'三角形边长为a={a},b={b},c={c}')
    else:
        raise Exception(f'a={a},b={b},c={c},不能构成三角形')
except Exception as e:
    print(e)



标签:处理,代码,except,int,第七章,print,input,异常
From: https://www.cnblogs.com/pl-blog1/p/18306093

相关文章

  • 初始python异常捕获
    1、打开文件#打开文件的两种方式f=open("文件名/文件路径","要进行的操作",encoding="utf-8")#其中utf-8可以省略不写withopen("文件名/文件路径","要进行的操作",encoding="utf-8")asf:#这两种的区别,第一种需要进行手动关闭文件,里面没有内置关闭f.close第二种内置关闭,......
  • js需要同时发起百条接口请求怎么办?--通过Promise实现分批处理接口请求
    如何通过Promise实现百条接口请求?实际项目中遇到需要发起上百条Promise接口请求怎么办?前言不知你项目中有没有遇到过这样的情况,反正我的实际工作项目中真的遇到了这种玩意,一个接口获取一份列表,列表中的每一项都有一个属性需要通过另一个请求来逐一赋值,然后就有了这份封装真......
  • 端口被占用如何处理Error: listen EADDRINUSE: address already in use :::xxxx
    启动项目出现Error:listenEADDRINUSE:addressalreadyinuse:::9088yarnrunv1.22.19$nodesrc/index.jsevents.js:377thrower;//Unhandled'error'event^Error:listenEADDRINUSE:addressalreadyinuse:::9088atServer.setupL......
  • 揭秘 Java 变长参数:如何优雅地处理不定数量的字符串
    哈喽,大家好,我是木头左!理解变长参数:基础概念在Java中,变长参数也称为可变参数,它允许你传递任意数量的参数到一个方法中。这个特性是通过使用三个点符号...来实现的。当你在方法的参数列表中使用...时,任何传递给该方法的额外参数都会被当作数组来处理。这为提供了一种灵活的方式......
  • 数据的增量和全量处理
     在数据处理和数据同步的背景下,增量和全量是两个重要的概念: 1.全量数据(FullLoad):   全量数据指的是完整的数据集合,即整个数据集的全部内容。全量加载意味着每次处理时都将整个数据集重新加载或复制到目标系统中。这种方法适用于数据量较小或者需要完全更新的情况。......
  • sqldumper.exe 是 SQL Server 的一个重要组件,专门用于捕获和处理关键错误,帮助管理员和
     sqldumper.exe的起源可以追溯到MicrosoftSQLServer的开发和运行时管理中。它作为SQLServer的一部分,主要用于处理数据库引擎遇到的关键错误和异常情况。具体来说,sqldumper.exe主要功能包括:异常处理和故障捕获:当SQLServer数据库引擎遇到严重错误时,如内存访问错误......
  • 低开开发笔记(八): 低代码编辑器实现撤销回退(命令模式,防抖处理)
    好家伙, 0.代码已开源https://github.com/Fattiger4399/ph_questionnaire-.git 1.事件触发我们先从事件的触发开始讲起大致上我们有两个思路可以选择1.监控用户行为2.监控数据变化 两种选择都会有较难处理的部分,这里我们先选第二个选项 关于监控数据,首......
  • Oracle常见数据块损坏处理方式
    1前提:备份数据库查看数据库的模式SYS@orcl>selectopen_mode,log_modefromv$database;OPEN_MODE LOG_MODE--------------------------------READWRITE ARCHIVELOG修改RMAN的备份参数RMAN>configurecontrolfileautobackupon;newRMANconfigur......
  • 使用Samba在Ubuntu和Windows下共享文件处理
    使用Samba在Ubuntu和Windows下共享文件处理在Ubuntu下安装sambasudoaptupdatesudoapt-getinstallsamba添加用户到Ubuntu中sudoadduserchris:创建系统用户sudosmbpasswd-achris:添加用户到Samba配置Sambavim/etc/samba/smb.conf在最下面添加如下信息:......
  • 8-基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台 双DSP 6U CPCI架
    基于双TMS320C6678+XC7K420T的6UCPCIExpress高速数据处理平台 1、板卡概述板卡由北京太速科技自主研发,基于6UCPCI架构,处理板包含双片TIDSPTMS320C6678芯片;一片Xilinx公司FPGAXC7K420T-1FFG1156芯片;六个千兆网口(FPGA两个,DSP四个);DSP与FPGA之间Rap......