【Python:抛出异常还是返回None?】教程文章相关的互联网学习教程文章

在平等比较不同的数据类型时,我可以使Python抛出异常吗?【代码】

假设我想比较两个不同数据类型的变量:string和int.我在Python 2.7.3和Python 3.2.3中都测试了它,并且都没有抛出异常.比较结果为假.在这种情况下,我可以使用不同的选项配置或运行Python以引发异常吗?ks@ks-P35-DS3P:~$python2 Python 2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a="123" >>> b=123 >>> a==b False >>> ks@ks-P...

在Python 3中遇到错误(异常,循环)【代码】

所以我在这里要做的是,如果你输入一个字符串而不是整数,那么你回到起点 但由于某种原因,当你输入一个字符串时,程序就会停止while True:try:print("Will select a random number between selected limits: 'x' and 'y'")x = int(input("x = "))except ValueError:print("Please enter a number")break解决方法: while True:try:print("Will select a random number between selected limits: 'x' and 'y'")x = int(input("x = "))y ...

如何在比较不同类型时强制Python 2引发异常?【代码】

在Python 2.7.2中将字符串与int进行比较看起来非常不一致:x = '12'; y = 3 print x > y # True x = 12; y = '3' print x > y # False根据How does Python compare string and int?在Python 3中,这些将引发异常.有没有办法让Python 2表现得那么好?看看__future__我无法弄清楚是否有这样的功能.解决方法:不,您的选择是: >编写并使用在不需要的比较中引发的包装类.>编写并使用自定义比较函数代替通常的运算符.>使用像Mac...

python – Django pre_save信号 – 异常会导致事务失败吗?

我想在创建用户之前执行一些自定义操作.我想到了使用pre_save信号.如果其中一个动作引发异常,则停止该事务,中止创建用户等. >这是要走的路吗?如果在这一步中出现故障(这是必需的行为),它会中止保存吗?我怀疑这样但是找不到有关它的文档.>获得未来user.id的最佳做法是什么?根据我的理解,它在预先保存中尚不存在,但我需要它作为一些额外自定义操作的输入. 谢谢解决方法:从docs:There’s no way to tell what the value of an ID ...

python – 一个方法允许引发多种类型的异常或只是一种异常更好吗?【代码】

我的问题是关于异常处理的最佳(最“pythonic”方式),如果方法可以引发两种(或更多)类型的异常,但它们的解释从调用者的角度来看是相同的. 假设我有一个named(name is string)对象的集合.我希望这个集合能够通过索引或名称返回项目.class CollectionOfNamedItems:def __init__(self, items):self._dict = {item.name: item for item in items} self._items = tuple(items)def __getitem__(self, item):if isinstance(item, str):retu...

python – 捕获异常并显示自定义错误页面【代码】

我有一个Flask应用程序.我在我的一个库中创建了一个自定义异常,该异常与我想通知用户的非常具体的错误有关. 我想要发生的是,每当抛出此异常时,Flask都会转到此异常的默认页面,并简要说明用户需要执行的操作. 我有class SpecificException(Exceptions):pass然后def __verify_compatible_version(self):if self.version != VERSION:raise SpecificException ("detected incompatible version")我不确定该怎么做. docs似乎表明它是可能...

python – 用户定义的异常有什么好名字?【代码】

这个问题涵盖了广泛的编程语言;但是,在这种情况下,我特别使用Python. 我想创建一些用户定义的异常,但我不确定它们应该是多么精细.例如,如果我有以下类:class Race(object):def __init__(self, start_time, end_time):if end_time < start_time:raise WhatToNameThisErrorself._start_time = start_timeself._finish_time = end_time如果完成时间发生在开始时间之前,我想要提出异常,但我可以调用它吗? > RaceError(与Race类相关的...

不在python中的正确包中时不会被捕获的异常【代码】

编辑:好吧,我设法隔离了错误和完整的代码来重现它.但它似乎是设计的东西,或python中的错误. 创建两个兄弟包:admin&一般,每个都有自己的__init__.py,当然.在包管理中,将文件’test.py’与以下代码放在一起:from General.test02 import run import RunStoppedException try:run() except RunStoppedException.RunStoppedException,e:print 'right' except Exception,e:print 'this is what i got: %s'%type(e)并且在admin中使用以...

python基础--模块、包、异常介绍(十一)

# 继承 # 假设有一个类,能够实现我们需要的大部分功能,但是不能实现全部功能,那么如何实现全部功能呢? # 1.如果直接在这个类中添加我们需要的功能,修改起来会很麻烦 # 2.如果创建一个新类来实现全部功能,就会有很多重复劳动的工作。 # 3.创建一个父类,来继承这个父类的属性和方法。 # 继承是面向对象的三大特性之一,通过继承我们可以使一个类获取到其他类中的属性和方法, # 在定义类可以在类名后的括号中指定...

Python中异常打印——面向程序猿【代码】

import logging # logging.disable(logging.CRITICAL) logging.basicConfig(filename="loggingBug.txt",level=logging.DEBUG,format="%(asctime)s-%(levelname)s-%(message)s") def factorial(num):total=1logging.debug("开始运行:{}".format(num))for i in range(1,num+1):logging.debug("i={},total={}".format(i,total))total*=ireturn totalprint(factorial(5))是为了方便我以后查阅,所以注释不是很详细,如果有问题,可以尽...

python文件读写和异常【代码】

1,文本文件普通打开f.open f.close def main():f = Nonetry:f = open('致橡树.txt', 'r', encoding='utf-8')print(f.read())except FileNotFoundError:print('无法打开指定的文件!')except LookupError:print('指定了未知的编码!')except UnicodeDecodeError:print('读取文件时解码错误!')finally:if f:f.close()if __name__ == '__main__':main()with关键字with open as f def main():try:with open('致橡树.txt', 'r', encoding=...

python – 异常“在新循环上运行时,线程’MainThread’中没有当前事件循环【代码】

这是简单的测试代码和结果.import asyncioasync def test():await asyncio.sleep(1)if __name__ == '__main__':asyncio.set_event_loop(None) # Clear the main loop.loop = asyncio.new_event_loop() # Create a new loop.loop.run_until_complete(test()) # Run coroutine over the new loopTraceback (most recent call last):File "test_test.py", line 11, in <module>loop.run_until_complete(test())File "/usr/li...

python基础知识,为什么异常处理不起作用?【代码】

我是python开发的新手,并试图理解异常处理.我有2个函数1st在列表中找到1个重复值,第2个调用该函数.但是如果尝试传递不存在的列表名称,则应该从块除外打印消息,但是它不起作用,请帮忙def first_duplicate(a):x = 0for i, j in enumerate(a):for k in a[i + 1:]:if j == k:x = 1return jif x == 1:breakdef call_main (list_name):try:x = first_duplicate(list_name)if x is None:print("No duplicates")else:print(x, "is the firs...

python – 在主程序或清理中可能发生错误时的异常处理【代码】

这是Debian Squeeze上的Python 2.6.6(默认).请考虑以下Python代码.import sys try:raise Exception("error in main")pass except:exc_info = sys.exc_info() finally:try:print "cleanup - always run"raise Exception("error in cleanup")except:import tracebackprint >> sys.stderr, "Error in cleanup"traceback.print_exc()if 'exc_info' in locals():raise exc_info[0], exc_info[1], exc_info[2]print "exited normally"获得...

python异常处理

python的异常处理 1. 使用traceback模块 异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误 下面来介绍traceback模块来进行处理,try:1/0except Exception, e:print e 输出的结果是: integer division or modulo by zero但是只有这个错误, 但是不知道到底是哪一行报错的, 这个时候我们可以使用traceback模块 import tracebacktry:1/0except Exception, e:traceback.p...