python exceptions怎么用_Python基础介绍 | Exceptions异常

想到本科时候学的Java,各种思想思路,但就是实践得少了,所以讲了也生疏,但让自己静静地敲一敲,你也就明白程序语言里没啥新鲜事。

今天来讲讲程序中的异常:

出现问题时会引发异常。例如,如果你尝试除以零,ZeroDivisionError则会引发或者如果你尝试访问字典中不存在的键,KeyError则会引发此问题。

empty_dict = {}

# empty_dict['key'] # Uncomment to see the traceback

try-except结构

如果你知道代码块可能以某种方式失败,则可以使用try-except结构以所需方式处理潜在异常。

# Let's try to open a file that does not exist

file_name = 'not_existing.txt'

try:

with open(file_name, 'r') as my_file:

print('File is successfully open')

except FileNotFoundError as e:

print('Uups, file: {} not found'.format(file_name))

print('Exception: {} was raised'.format(e))

如果你不知道代码块可能引发的异常类型,则可以使用Exception捕获所有异常。此外,你可以拥有多个except语句。

def calculate_division(var1, var2):

result = 0

try:

result = var1 / var2

except ZeroDivisionError as ex1:

print("Can't divide by zero")

except Exception as ex2:

print('Exception: {}'.format(ex2))

return result

result1 = calculate_division(3, 3)

print('result1: {}'.format(result1))

result2 = calculate_division(3, '3')

print('result2: {}'.format(result2))

result3 = calculate_division(3, 0)

print('result3: {}'.format(result3))

try-except也可以在外部范围内

创建自定义异常

在你自己的应用程序中,你可以使用自定义异常向用户发出有关在应用程序运行时发生的错误的信号。

import math

# Define your own exception

class NegativeNumbersNotSupported(Exception):

pass

# Dummy example how to use your custom exception

def secret_calculation(number1, number2):

if number1 < 0 or number2 < 0:

msg = 'Negative number in at least one of the parameters: {}, {}'.format(

number1, number2)

raise NegativeNumbersNotSupported(msg)

return math.sqrt(number1) + math.sqrt(number2)

# Uncomment to see the traceback

# result = secret_calculation(-1, 1)

好啦,赶紧自己试一下吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值