python 点滴记录12:异常处理

引入异常处理机制,使得运行的程序发生错误时,不至于崩溃。

常见格式:

try:
    command 1
except:
    command 2

当command 1 执行出错时,就会执行command 2。command 2 通常是自己定义的错误提示或者系统默认的提示。

eg:

#!/usr/bin/python
while 1:
        c = raw_input("input ‘c‘ continue,otherwise logout:")
        if c == ‘c‘:
                a = raw_input("input first number:")
                b = raw_input("input second number:")
                try:
                        print float(a)/float(b)
                        print "++++++++++++++++++++"
                except ZeroDivisionError:
                        print "the second number can‘t be zero!"
                        print "++++++++++++++++++++"
                except ValueError:
                        print "please input number."
                        print "++++++++++++++++++++"
        else:
                break

当用户输入的第二个是0或者输入的不是数字时,就会执行第一个except或者第二个except语句。

其他格式:

try:
    command 1
except:
    command 2
else:
    command 3

当command 1 被成功执行后,就会执行command 3,不会执行command 2。如果command 1执行发生异常,接着就会执行command 2,而command 3不会被执行。

try:
    command 1
except:
    command 2
else:
    command 3
finally:
    command 4

这种格式中,无论执行哪一条语句,finally(command 4)总是会被执行。

时间: 2024-10-12 21:16:04

python 点滴记录12:异常处理的相关文章

python 点滴记录6:ubuntu 安装pycharm

想在ubuntu下学习python开发,IDE准备使用pycharm.记录一下安装过程: 要想运行pycharm,需要有java环境,因为pycharm是用java编写的.ubunutn系统默认安装的是openjdk,而我们需要的是oracle java. 搜索oracle的java软件包: apt-cache search oracle-java 搜不到任何包. 搜索openjdk包: apt-cache search java7 出现类似以下安装包: openjdk-7-jdk - Open

python 点滴记录15:MAC OS安装MySQLdb

下载安装包:http://sourceforge.net/projects/mysql-python然后解压. 切换到目录下执行 python setup.py install 报错: EnvironmentError: mysql_config not found 解决:在安装包中找到site.cfg文件,将 #mysql_config =/usr/local/bin/mysql_config 修改为: mysql_config =/usr/local/mysql/bin/mysql_conf

python 点滴记录8:文件操作read、readline与readlines

python读取文件内容时,有三种方法:read().readline()和readlines() 这三种方法区别如下: read(...)     read([size]) -> read at most size bytes, returned as a string.          If the size argument is negative or omitted, read until EOF is reached.     Notice that when in non-blo

python 点滴记录13:django 初尝试

use django to create website: 1.create new django project #django-admin.py startproject test1 test1/ ├── manage.py └── test1     ├── __init__.py     ├── settings.py     ├── urls.py     └── wsgi.py 2.create new django application,in the new project di

python 点滴记录14:join()方法

string.join()方法可以将list中的每个元素按照给定的方式拼接起来. 例如 l ist = ['php','python','javascript'] result = '<p>'.join(list) 当result显示在页面上时就会是这样的: php python javascript 即按照<p>对每个元素拆分

python 点滴记录11:函数参数的收集

8python中,当在不确定给函数传递参数的个数时,可以使用*args和**kargs形式(args.kargs可以使用其他名称定义). 一.*args形式 eg1: def func(x,*a):         print x         print a          func(1,2,3,4,5) 调用函数后结果为: 1 (2, 3, 4, 5) 从过结果可看出,在使用*a后,当给函数传递多个参数时,函数会将第一个实参传递给第一个型参,然后将剩下的实参传递给了*a,而*a将剩下的参

python 点滴记录9:迭代的方法

迭代,简单说就是按照某种顺序逐个访问列表中的每一个元素. for语句是一个比较简单的时间迭代的方法: lis = ['a','h','a','i','i'] for x in lis:     print x 这样就列表中的每个元素访问了一遍. 除了for语句,还有一种可以实现迭代的方法,那就是iter()方法: lis = ['a','h','a','i','i'] lis_iter = iter(lis) lis_iter.next() lis_iter.next()每次只会读取列表中的一个

python 点滴记录10:列表解析

列表解析语法格式: 第一种格式: [expr for iter_var in iterable] 迭代iterable里的每一个元素,每迭代一个,就把一个元素放入iter_var.然后在表达式(expr)中应用iter_var中的内容. eg: [random.randint(0,101) for i in range(10)]  #随机抽取0到100之间的10个数字 第二种格式: [expr for iter_var in iterable if cond_expr] 只有符合if条件的元素才

supperset (python 2.7.12 + mysql)记录

网上看到superset,比较感兴趣,虚机上搭一下,记录操作过程. 版本信息:CentOS 6.6 + python 2.7.12 + mysql 5.1.73 + setuptools 36.5.0 + pip-9.0.1 1.安装虚机操作CentOS6.6的系统环境,过程略,运行如下脚本(替换yum源.升级Python.安装Python setuptools.pip) #!/bin/bash ##################################################