语法错误

这种错误的不能使用异常处理,你自己粗心写错怪谁,哼哼哼

比如说少冒号啦,丢了括号啦

逻辑错误

try:
num = int(input("请输入数字"))
print(111)
except ValueError:
print(666)
# 输入 1q
# 输出 666

结构一 : 单分支

try:
num = int(input("请输入数字:"))
# 出现 ValueError 错误之后,直接跳到 except 语句
dic = {'name':"海狗"}
print(dic['age'])
print(111)
except ValueError:
print(666)
''''
请输入数字:1q
666
'''

**结构二 : 多分支 **

try:
num = int(input('请输入数字:'))
# 输入的时候 出现ValueError
# 错误之后,直接跳转到except 语句
dic = {'name':'嘉欣'}
print(dic['age'])
l1 = [1,2]
print(l1[100])
print(111)
except ValueError:
print("输入的有非数字元素")
except KeyError:
print('没有此键')
except IndexError:
print('没有此下标')
print(666)
'''
请输入数字:1 去
输入的有非数字元素
666 '''

结构三 : 万能异常 处理所有 Python识别的异常

try:
dic = {'name':'海狗'}
# print(dic['age'])
l1 = [1,2]
print(l1[100])
print(111)
for i in 123: # 'int' object is not iterable
pass
except Exception as e:
print(e)
print(666)
''''
list index out of range
666
直接说明错的原因了
''' 还挺好玩的
什么时候用万能 ? 什么时候用分支 ?
万能 : 如果你对错误信息不关心,只是想要排除错误让程序继续运行. 用万能异常.
 分支 : 你对错误信息要进行明确的分流,让你的程序多元化开发.

结构四 : 多分支加万能异常

def func():
pass
def func1():
pass
dic = {
1 : func,
2 : func1
}
try:
num = int(input('请输入序号:'))
dic[num]()
except ValueError:
print("请输入数字:")
except KeyError:
print("请输入范围内的序号")
except Exception:
print('程序出现意料之外的错误')
'''
请输入序号:111
请输入范围内的序号
'''

结构5 : try else finally

except 必须依赖于try, else必须依赖于except和try

# finally只是依赖于try.

在 return 结束函数之前,执行 fially 代码

def func():
try:
print(111)
return 555
finally:
print(222)
print(func())
'''
111
222
555 '''

结构六 : 主动触发异常

raise ValueError('出现了value错误')

结构7: 断言: 展现出一种强硬的态度.

name = 'alex'
n1 = input('请输入:')
assert name == n1
print(111)
print(222) 这是啥意思啊,完全不懂呀输入直接就报错

自定义异常

Python 中给你提供的错误很多,但不是全部的错误

class LiYeError(BaseException):
def __init__(self,msg):
self.msg = msg
def __str__(self):
return self.msg
try:
raise LiYeError('socket.connent.....')
except LiYeError as e:
print(e)
# socket.connent.....

异常处理 try的更多相关文章

  1. 关于.NET异常处理的思考

    年关将至,对于大部分程序员来说,马上就可以闲下来一段时间了,然而在这个闲暇的时间里,唯有争论哪门语言更好可以消磨时光,估计最近会有很多关于java与.net的博文出现,我表示要作为一个吃瓜群众,静静的 ...

  2. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  3. 异常处理汇总 ~ 修正果带着你的Net飞奔吧!

    经验库开源地址:https://github.com/dunitian/LoTDotNet 异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983 ...

  4. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  5. IL异常处理

    异常处理在程序中也算是比较重要的一部分了,IL异常处理在C#里面实现会用到一些新的方法 1.BeginExceptionBlock:异常块代码开始,相当于try,但是感觉又不太像 2.EndExcep ...

  6. Spring MVC重定向和转发以及异常处理

    SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...

  7. 【repost】JS中的异常处理方法分享

    我们在编写js过程中,难免会遇到一些代码错误问题,需要找出来,有些时候怕因为js问题导致用户体验差,这里给出一些解决方法 js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要 ...

  8. 札记:Java异常处理

    异常概述 程序在运行中总会面临一些"意外"情况,良好的代码需要对它们进行预防和处理.大致来说,这些意外情况分三类: 交互输入 用户以非预期的方式使用程序,比如非法输入,不正当的操作 ...

  9. 关于bug分析与异常处理的一些思考

    前言:工作三年了,工作内容主要是嵌入式软件开发和维护,用的语言是C,毕业后先在一家工业自动化控制公司工作两年半,目前在一家医疗仪器公司担任嵌入式软件开发工作.软件开发中,难免不产生bug:产品交付客户 ...

  10. ABP(现代ASP.NET样板开发框架)系列之23、ABP展现层——异常处理

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之23.ABP展现层——异常处理 ABP是“ASP.NET Boilerplate Project (ASP.NET ...

随机推荐

  1. 页面ajax请求传参及java后端数据接收

    js ajax请求传参及java后端数据接收 Controller: package com.ysl.PassingParameters.controller; import java.util.Li ...

  2. ReactiveCocoa实践

    1.按钮addTarget [[self.aDepositBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNe ...

  3. arcgis python 标注

    import arcpy mxd = arcpy.mapping.MapDocument("current") lyr = arcpy.mapping.ListLayers(mxd ...

  4. SQL-W3School-高级:SQL JOIN

    ylbtech-SQL-W3School-高级:SQL JOIN 1.返回顶部 1. SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完 ...

  5. hadoop2.7.7+habse2.0.5+zookeeper3.4.14+hive2.3.5单机安装

    环境 腾讯云centos7 1.hadoop下载 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar ...

  6. 广告行业——数字广告营销中的DSP、SSP、RTB是个什么概念

    原文链接1 原文链接2 如我是一个创业公司,没啥钱,老板给了1000块钱预算,让我去投互联网广告,对我说: “小卡啊!给你1000块钱,我知道你没见过那么多的巨款吧!不要被吓着,尽情去挥霍吧!哦对了, ...

  7. Idea创建SpringBoot项目整合Hibernate

    然后next 依赖包选择,Web必须 pom.xml: <?xml version="1.0" encoding="UTF-8"?> <pro ...

  8. java+断点续传

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...

  9. JAVA 基础编程练习题44 【程序 44 偶数的素数和】

    44 [程序 44 偶数的素数和] 题目:一个偶数总能表示为两个素数之和. package cskaoyan; public class cskaoyan44 { @org.junit.Test pu ...

  10. 二进制安装k8s-单个master节点、两个node--修改版--有个错误:好多地方确少APISERVER

    centos7.4安装k8s-.11版本,二进制 安装 配置系统相关参数 如下操作在所有节点操作 # 临时禁用selinux # 永久关闭 修改/etc/sysconfig/selinux文件设置 s ...