
获得徽章 1
#挑战每日一条沸点#
4月11日 day 1
打卡 python 手动抛出异常:raise抛出异常。
raise语句的基本语法格式为:
raise [exceptionName [(reason)]]
参数的解析:[]里面表示为可选参数,作用是指定抛出的异常名称、异常信息的相关描述。
- 如果可选参数全部省略,raise会把当前错误原样抛出。
- 如果仅省略(reason),则在抛出异常时,将不附带任何的异常描述信息。
故raise的三种常见用法:
1)raise:单独一个raise。该语句引发当前上下文中捕捉的异常(比如在except 块中。)默认引发 RuntimeError 异常。
2)raise 异常类名称:raise后带一个异常类名称,表示引发执行类型的异常。
3)raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。
当在没有引发过异常的程序使用无参的 raise 语句时,它默认引发的是 RuntimeError 异常。
因此:每次执行 raise 语句,都只能引发一次执行的异常。
再来学习 try except(else finally)异常处理结构。这个语句的作用是:捕获异常并进行处理。
try块会捕获raise抛出的异常,并由except块进行处理。
因此,这样处理(使用try except),在程序中使用了raise语句引发异常,但程序的执行是正常的,手动抛出异常并不会导致程序崩溃。
使用示例:
try:
a = input("输入一个数:")
if(not a.isdigit()):
raise ValueError("a 必须是数字")
except ValueError as e:
print("引发异常:",repr(e))
raise
4月11日 day 1
打卡 python 手动抛出异常:raise抛出异常。
raise语句的基本语法格式为:
raise [exceptionName [(reason)]]
参数的解析:[]里面表示为可选参数,作用是指定抛出的异常名称、异常信息的相关描述。
- 如果可选参数全部省略,raise会把当前错误原样抛出。
- 如果仅省略(reason),则在抛出异常时,将不附带任何的异常描述信息。
故raise的三种常见用法:
1)raise:单独一个raise。该语句引发当前上下文中捕捉的异常(比如在except 块中。)默认引发 RuntimeError 异常。
2)raise 异常类名称:raise后带一个异常类名称,表示引发执行类型的异常。
3)raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。
当在没有引发过异常的程序使用无参的 raise 语句时,它默认引发的是 RuntimeError 异常。
因此:每次执行 raise 语句,都只能引发一次执行的异常。
再来学习 try except(else finally)异常处理结构。这个语句的作用是:捕获异常并进行处理。
try块会捕获raise抛出的异常,并由except块进行处理。
因此,这样处理(使用try except),在程序中使用了raise语句引发异常,但程序的执行是正常的,手动抛出异常并不会导致程序崩溃。
使用示例:
try:
a = input("输入一个数:")
if(not a.isdigit()):
raise ValueError("a 必须是数字")
except ValueError as e:
print("引发异常:",repr(e))
raise
展开
评论
点赞
#青训营笔记创作活动#
2月23日,打卡day15
今日学习消息队列Kafka。
Kafka包含Topic、Partition、消费者、生产者、副本等基本概念。
kafaka可以从三个角度进行理解:消息系统、存储系统、流式处理平台。
整体架构为:生产者将消息发送到broker;
kafaka通过zookeeper管理集群元数据;
消费者采用拉(pull)模式订阅并消费消息。
2月23日,打卡day15
今日学习消息队列Kafka。
Kafka包含Topic、Partition、消费者、生产者、副本等基本概念。
kafaka可以从三个角度进行理解:消息系统、存储系统、流式处理平台。
整体架构为:生产者将消息发送到broker;
kafaka通过zookeeper管理集群元数据;
消费者采用拉(pull)模式订阅并消费消息。
展开
评论
点赞
#青训营笔记创作活动#
2月22日,打卡day14
今日学习Redis 数据库存储系统。如果是面试的话,这篇文章可以直接拿来背诵的程度,就很全很详细。
啥是redis?在客户端和数据层之间建立的缓存层,或者说是缓存中间件。
客户端——缓存层——数据存储层。
不过我觉得这些理论知识需要加上自主实践才能更容易理解。
2月22日,打卡day14
今日学习Redis 数据库存储系统。如果是面试的话,这篇文章可以直接拿来背诵的程度,就很全很详细。
啥是redis?在客户端和数据层之间建立的缓存层,或者说是缓存中间件。
客户端——缓存层——数据存储层。
不过我觉得这些理论知识需要加上自主实践才能更容易理解。
展开
评论
点赞
#青训营笔记创作活动#
2月16日 打卡day13
今天学习:全解MySQL:一条SQL语句从诞生至结束的多姿多彩之旅
本篇主要站在一条SQL的角度,从SQL的诞生开始,到SQL执行、数据返回等全链路进行分析。
首先,sql的诞生都是源于一个用户请求,当完整的sql生成后,
再会先去连接池中尝试获取一个连接对象,假设此时连接池中没有空闲连接,需要再次创建一个新连接,那么就会先发起网络请求建立连接。(网络请求就是。tcp的三次握手)
经过连接层的一系列工作后,接着客户端会将要执行的sql语句通过连接发送过来,然后执行mysql服务层进行处理。
根据用户的操作不同,mysql执行SQL语句时也会存在些许差异。
推荐阅读这个系列文章,感觉又是涨姿势的一天
2月16日 打卡day13
今天学习:全解MySQL:一条SQL语句从诞生至结束的多姿多彩之旅
本篇主要站在一条SQL的角度,从SQL的诞生开始,到SQL执行、数据返回等全链路进行分析。
首先,sql的诞生都是源于一个用户请求,当完整的sql生成后,
再会先去连接池中尝试获取一个连接对象,假设此时连接池中没有空闲连接,需要再次创建一个新连接,那么就会先发起网络请求建立连接。(网络请求就是。tcp的三次握手)
经过连接层的一系列工作后,接着客户端会将要执行的sql语句通过连接发送过来,然后执行mysql服务层进行处理。
根据用户的操作不同,mysql执行SQL语句时也会存在些许差异。
推荐阅读这个系列文章,感觉又是涨姿势的一天
![[奋斗]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_29.2801857.png)
展开
评论
点赞