【摘要】当今世界充满了各种数据,而python是其中一种的重要组成部分。然而,若想其有所应用,我们需要对这些python理论进行实践。其中包含很多有趣的的过程,然后将其用于某些方面。其中一种应用就是项目的python异常处理。今天环球网校的小编就来和大家讲讲python异常处理。
元组通常包含错误字符串,错误数字,错误位置。
python异常处理实例
以下为单个异常的实例:
#!/usr/bin/python # Define a function here.def temp_convert(var): try: return int(var) except ValueError, Argument: print "The argument does not contain numbers\n", Argument # Call above function here.temp_convert("xyz");
以上程序执行结果如下:
The argument does not contain numbersinvalid literal for int() with base 10: 'xyz'
5、python异常处理触发异常
我们可以使用raise语句自己触发异常
raise语法格式如下:
raise [Exception [, args [, traceback]]]
语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。该参数是可选的,如果不提供,异常的参数是"None"。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
python异常处理实例
一个异常可以是一个字符串,类或对象。 Python的内核提供的异常,大多数都是实例化的类,这是一个类的实例的参数。
定义一个异常非常简单,如下所示:
def functionName( level ): if level < 1: raise "Invalid level!", level # The code below to this would not be executed # if we raise the exception
注意:为了能够捕获异常,"except"语句必须有用相同的异常来抛出类对象或者字符串。
例如我们捕获以上异常,"except"语句如下所示:
try: Business Logic here...except "Invalid level!": Exception handling here...else: Rest of the code here...
6、用户自定义python异常处理
通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。
以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。
在try语句块中,用户自定义的异常后执行except块语句,变量 e 是用于创建Networkerror类的实例。
class Networkerror(RuntimeError): def __init__(self, arg): self.args = arg
在你定义以上类后,你可以触发该异常,如下所示:
try: raise Networkerror("Bad hostname")except Networkerror,e: print e.args
以上就是python异常处理的全部内容。