python异常

简介:                                                                                           python下异常如何处理: ...

                 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

python下异常如何处理:

  1 #encoding=utf-8
  2 
  3 """
  4 python遇到异常,程序直接运行
  5 try:
  6     "判断有可能抛出异常的代码"
  7     print "haha"
  8 except:
  9     "异常下运行的代码"
 10 else:
 11     "运行没有异常时候的逻辑"
 12 finally:
 13     "不管try判断如何,该代码总会执行"
 14 
 15 合理利用异常:
 16     1、不得不用的地方采用异常;
 17     2、正确使用异常:需要对异常进行捕获
 18      比如:except IOError:   
 19 
 20 """
 21 
 22 a = [1, 2, 3, 4, 5, 6]
 23 
 24 print a[4]
 25 
 26 try:
 27     print a[6]
 28 except:
 29     print u'哈哈'
 30 
 31 print "继续可以到这里"
 32 
 33 
 34 try:
 35     print a[6]
 36 except:
 37     print "huhu"
 38 else:
 39     print "hoho"
 40 finally:
 41     print "hehe"
 42     
 43     
 44 import urllib
 45 sth_url = "http://wsdfsdf"
 46 
 47 try:
 48     d = urllib.urlopen(sth_url)
 49 except:
 50     print "出错了"
 51 else:
 52     content = d.read()
 53 finally:
 54     pass
 55     #d.close()
 56     
 57 """
 58 异常的note:
 59     1、一个try对应一个except
 60     2、使用python内置异常,来对应自身情况;
 61     IOErro, IndexError
 62     3、捕获异常的办法:
 63         import logging
 64         logger = logging.getLogger()
 65         #logfile = 'excetion_demo.log'    #log文件名
 66         hdlr = logging.FileHandler('/tmp/sendlog.txt')
 67         formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
 68         hdlr.setFormatter(formatter)
 69         logger.addHandler(hdlr)  #logging绑定
 70         logger.setLevel(logging.NOTSET)
 71         
 72                
 73         import sys, logging
 74         try:
 75             d = urllib.urlopen("www.kdkdk.com")
 76         except:
 77             exc = sys.exc_info()
 78             loggin.debug(exc[1]
 79             print exc[1]
 80             print exc
 81     4、断言,assert
 82         assert 表达式,"出错后抛出message"
 83         assert 1>4,  "expression Error"
 84     先断言绝对不能发生的错误,然后在处理异常;
 85 """
 86 
 87 """
 88 with用法:自动回收垃圾
 89 #进入时,调用对象的__enter__
 90 #退出时,调用对象的__exit__函数
 91 
 92 d = open('a', 'r')
 93 d.read()
 94 d.close()
 95 
 96 with open('a', 'r')  as d:
 97     content = a.read()
 98 """
 99 
100 #with示例:
101 class sth(object):
102     def __init__(self, xixi):
103         self.a  = xixi
104         
105     def __enter__(self):
106         print u'哈哈, 进来了'
107         return self.a
108     
109     def __exit__(self, type, value, traceback):
110         print u'哈哈,出去了'
111 
112 with sth("gg") as s:
113     print s         #s为__enter__返回值
114 
115 """
116 定义自己的异常类
117 """
118 
119 class myException(Exception):
120     def __init__(self, error, msg):
121         self.args = (error, msg)
122         self.error = error
123         self.msg  = msg
124 
125 try:
126     raise myException(1, "my exception")
127 except Exception as e:
128     print str(e)

 

相关文章
|
16天前
|
人工智能 Shell 开发工具
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
50 32
|
13天前
|
数据库 Python
[oeasy]python066_如何捕获多个异常_try_否则_else_exception
本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
40 24
|
3月前
|
测试技术 开发者 Python
对于Python中的异常要如何处理,raise关键字你真的了解吗?一篇文章带你从头了解
`raise`关键字在Python中用于显式引发异常,允许开发者在检测到错误条件时中断程序流程,并通过异常处理机制(如try-except块)接管控制。`raise`后可跟异常类型、异常对象及错误信息,适用于验证输入、处理错误、自定义异常、重新引发异常及测试等场景。例如,`raise ValueError("Invalid input")`用于验证输入数据,若不符合预期则引发异常,确保数据准确并提供清晰错误信息。此外,通过自定义异常类,可以针对特定错误情况提供更具体的信息,增强代码的健壮性和可维护性。
|
3月前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
98 5
|
3月前
|
Python
在Python中,自定义函数可以抛出自定义异常
在Python中,自定义函数可以抛出自定义异常
85 5
|
3月前
|
存储 开发者 Python
自定义Python的异常
自定义Python的异常
40 5
|
4月前
|
存储 索引 Python
Python生成器、装饰器、异常(2)
【10月更文挑战第16天】
68 1
Python生成器、装饰器、异常(2)
|
7月前
|
Unix API Python
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
141 0
|
4月前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
38 2
|
4月前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
47 1

热门文章

最新文章