Python学习笔记调式之抛出异常

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  当Python试图执行无效代码时,就会抛出异常,以前你可能使用过try和except语句来处理Python的一场,这样程序就可以从你预期的异常中恢复。

但你也可以在代码中抛出自己的异常。抛出异常相当于是说:“停止运行这个函数中的代码,将程序执行转到except语句”。

  抛出异常使用raise语句。raise语句包含以下部分:

  (1)raise关键字

  (2)对Except函数的调用

  (3)传递给Except函数的字符串,包含有用的出错信息

#------------------------------------------------我是可耻的分割线-------------------------------------------

  示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
 
def boxPrint(symbol,width,height):
    '''
    创建一个小盒子图像
    symbol: 组成小盒子的符号
    width:宽度
    height:高度
    return:返回值
    '''
    #判断符号是否不等于1
    if len(symbol) !=1:
        raise Exception('Sybol must be a single character string')
    #判断宽度是否小于等于2
    if width <= 2:
        raise Exception('Width must be greater than 2.')
    #判断高度是否小于等于2
    if height <= 2:
        raise Exception('Height must be greater than 2.')
    print(symbol * width)
    for i in range(height - 2):
        print(symbol + (' ' * (width - 2)) + symbol)
    print(symbol * width)
for sym, w, h in (('*', 4, 4), ('O', 20, 5), ('x', 1, 3), ('ZZ', 3, 3)):
    try:
        boxPrint(sym, w, h)
    except Exception as err:
        print('An exception happened: ' + str(err))

  运行结果:

 

 

posted @   李荣洋  阅读(470)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示