python抛出异常会终止程序吗_catch里面抛出异常

python抛出异常会终止程序吗_catch里面抛出异常Python抛出异常

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Python 抛出异常

抛出异常相当于是停止运行这个函数中的代码,将程序执行转到 except 语句。

如果没有 try 和 except 语句覆盖抛出异常的 raise 语句,该程序就会崩溃,并显示异常的出错信息。通常是调用该函数的代码知道如何处理异常,而不是该函数本身。所以你常常会看到 raise 语句在一个函数中,try 和 except 语句在调用该函数的代码中。

使用 try 和 except 语句,可以更优雅地处理错误,而不是让整个程序崩溃。

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

def boxPrint(symbol, width, height):
    if len(symbol) != 1:
        raise Exception("Symbol must be a single character string.")
    if width <= 2:
        raise Exception("Width must be greater than 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))

/usr/bin/python3.5 /home/strong/workspace/master.py
****
*  *
*  *
****
OOOOOOOOOOOOOOOOOOOO
O                  O
O                  O
O                  O
OOOOOOOOOOOOOOOOOOOO
An exception happened: Width must be greater than 2.
An exception happened: Symbol must be a single character string.

Process finished with exit code 0

References

https://yongqiang.blog.csdn.net/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180616.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android定时器「建议收藏」

    Android定时器「建议收藏」定时器Timertimer=newTimer();TimerTasktimerTask=newTimerTask(){@Overridepublicvoidrun(){Log.v("jiangwangli","开始运行");}…

    2022年7月25日
    8
  • 字符串数组转对象数组怎么操作_前端字符串转数组

    字符串数组转对象数组怎么操作_前端字符串转数组constreasonLi:any[]=[];reasonList.forEach(it=>{reasonLi.push({answer:it});});console.log(‘reasonLiarr’,reasonLi);

    2025年10月21日
    2
  • MAX31865模块的使用-基于ZigBee_CC2530芯片 PT100测温

    MAX31865模块的使用-基于ZigBee_CC2530芯片 PT100测温前言  网络上关于ZigBee和MAX31865的相关资料较少,对于如何在CC2530上实现对PT100温度数据的读取的资料更是几乎没有。因此本文对MAX31865芯片和模块的使用进行简要介绍,并提供使用源码,同时提供自制模块的相关原理图。文章目录前言一、相关资料二、MAX31865芯片介绍2.1简介:2.2:读写时序2.3:配置寄存器2.4错误标志2.5温度读取三、MAX31865模块介绍3.1引脚介绍3.2线制选择与接线四、代码4.1配置I/O寄存器4.2SPI写寄存器4.3SPI读寄存

    2022年6月29日
    25
  • 多线程(四)—-继承Thread和实现Runnable的区别

    多线程(四)—-继承Thread和实现Runnable的区别

    2020年11月12日
    185
  • Linux安装gcc方法(超简单安装)

    Linux安装gcc方法(超简单安装)Linux安装gcc方法(超简单安装)**1:Centos版本**终端输入以下命令yum-yinstallgccgcc-c++autoconfpcrepcre-develmakeautomakeyum-yinstallwgethttpd-toolsvim**2:Ubuntu版本**终端输入以下命令sudoaptinstallgcc输入Y开始安装获取版本信息,检查gcc是否安装成功了gcc–version出现版本信息代表安装完成*

    2022年5月25日
    260
  • 谷歌dns和阿里dns_最快dns排行

    谷歌dns和阿里dns_最快dns排行国内比较大型大众常用的公共DNS服务器公共DNS服务器,即系统默认的DNS解析服务器。DNS全称DomainNameSystem,即域名解析系统。DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代。公共DNS服务器,具有无广告、可以在一定程度上防止DNS劫持、不需因上网环境的改变而改变等优势,但是,使用公共DNS也可能存在系统响应慢、被劫

    2025年9月24日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号