try

异常处理

♀尐吖头ヾ 提交于 2020-01-26 02:25:54
异常处理 异常分为两类 一类异常是语法错误 空格 缩进 语法规则错误 这类错误应该在写代码时就避免掉 一类异常时逻辑错误 比如input用户输入非法或不完整 这类错误可以在程序中写代码处理 异常处理 运行程序时,遇到错误就要实事先去处理,让程序不因报错而提前结束 可以提高用户体验,提高容错性 先认识一下常见的异常 name NameError 不定义一个变量就直接使用1/0 ZeroDivisionError 不能除以一个0l = []l[1] IndexError 超出了索引范围int('aaa') ValueError 强行转换数据的时候给了一个错误的内容d = {}d['key'] KeyError 字典取一个不存在的keyclass A:passA.Country AttributeError 访问一个不存在的属性a = 1a() # TypeError 一个不可被调用的内容被调用了import aaa # ModuleNotFoundError 找不到你要调用的模块 处理异常的方法 单分支 try: 可能发生异常的代码 except 错误类型: 处理异常 l = ['apple','banana','umbrella'] for num,goods in enumerate(l,1): print(num,goods) try: choose = int(input(

异常处理

不羁的心 提交于 2020-01-26 02:25:37
一、异常和错误 1、语法错误(这种错误根本过不了python解释器的语法检测,必须在程序执行前就改正),如下示例: # 语法错误示范一 if # 语法错误示范二 def test: pass # 语法错误示范三 print(haha # 错误提示都为:SyntaxError: invalid syntax 语法错误   2、逻辑错误,如下示例: # 用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num = input(">>: ") int(num) # 无法完成计算 res1 = 1/0 res2 = 1 + 'str' 逻辑错误 二、什么是异常 异常就是程序运行时发生报错的信号,类似如下信息:     Traceback (most recent call last):   File "E:/pythonDemo/1-basis/test20.py", line 43, in <module>   int(num)     ValueError: invalid literal for int() with base 10: 't'   当异常发生之后,异常之后的代码就不执行了。   什么时候最容易出异常?     当你要处理的内容不确定的时候(有用户参与、有外界数据接入 : 从文件中读或者从网络上获取)。   当有多行报错的时候是为什么?    

异常处理

谁说我不能喝 提交于 2020-01-26 02:25:10
一、异常和错误 1、语法错误(这种错误根本过不了python解释器的语法检测,必须在程序执行前就改正),如下示例: # 语法错误示范一 if # 语法错误示范二 def test: pass # 语法错误示范三 print(haha # 错误提示都为:SyntaxError: invalid syntax 语法错误 2、逻辑错误,如下示例: # 用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num = input(">>: ") int(num) # 无法完成计算 res1 = 1/0 res2 = 1 + 'str' 逻辑错误 逻辑错误 二、什么是异常 异常就是程序运行时发生报错的信号,类似如下信息:     Traceback (most recent call last):   File "E:/pythonDemo/1-basis/test20.py", line 43, in <module>   int(num)     ValueError: invalid literal for int() with base 10: 't'   当异常发生之后,异常之后的代码就不执行了。   什么时候最容易出异常?     当你要处理的内容不确定的时候(有用户参与、有外界数据接入 : 从文件中读或者从网络上获取)。   当有多行报错的时候是为什么?    

python之异常处理

元气小坏坏 提交于 2020-01-26 02:24:50
1.异常处理 1.1错误 程序中难免出现错误,错误分成两种: (1.)语法错误 #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 class Foo pass #语法错误示范四 print(haha 语法错误示范 (2.)逻辑错误 #用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num=input(">>: ") int(num) 什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下: 异常种类 在python中不同的异常可以用不同的类型去标识,不同的类对象标识不同的异常,一个异常标识一种错误 1.2异常处理 什么是异常处理 Python解释器检测大错误,触发异常 程序员编写特定的代码,专门用来捕捉这个异常 如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这就是异常处理 如何进行异常处理 异常是由程序的错误引起的,语法上的错误跟异常处理无关,必须在程序运行前就修正 (1) 使用if判断式 num1=input('>>: ') #输入一个字符串试试 if num1.isdigit(): int(num1) #我们的正统程序放到了这里,其余的都属于异常处理范畴 elif num1.isspace(): print('输入的是空格,就执行我这里的逻辑') elif len

try-catch-finally(转)

江枫思渺然 提交于 2020-01-26 02:17:30
try{ //代码区 }catch(Exception e){ //异常处理 } 代码区如果有错误,就会返回所写异常的处理。 首先要清楚,如果没有try的话,出现异常会导致程序崩溃。 而try则可以保证程序的正常运行下去,比如说: try{ int i = 1/0; }catch(Exception e){ ........ } 一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接崩溃。用try的话,则可以让程序运行下去,并且输出为什么出错! try catch 是捕捉try部分的异常,当你没有trycatch的时候,如果出现异常则程序报错,加上trycatch,出现异常程序正常运行,只是把错误信息存储到 Exception里,所以catch是用来提取异常信息的,你可以在Catch部分加上一句 System.out.println(e.ToString());,如果出现异常可以把异常打印出来 java的异常处理机制(try…catch…finally) 1 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告 诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案 哦

Java基础——详尽说明try-catch-finally的用法

被刻印的时光 ゝ 提交于 2020-01-26 02:16:59
问:Java异常处理机制,理解了吗?Java异常处理,真的掌握了吗?什么是自定义异常?catch体里遇到return 是怎么处理?finally 体里有return怎么处理?catch 和 finally 体里同时遇上 return 怎么办?几道例题,理清它们。 try catch语句 格式:(代码区如果有错误,就会返回到异常处理) 1 try{ 2 3 //代码区 4 5 }catch(Exception e){ 6 7 //异常处理 8 9 } 首先要清楚,异常有运行时异常和check异常: 运行异常不需要强制捕获,他们是RuntimeException的子类。check异常需要try、catch的异常处理。 可以调用API去查询一下,比如常见的RuntimException有IndexOUtOfBoundsException(索引过界)、NullpointerException(空指针异常)等。常见的check异常有IO异常、SQL异常、FileNotFoundException(日期转换异常)等。 严重的话,如果某个高频率访问的类没有try,出现异常会导致程序崩溃。而try则可以保证程序的正常运行下去,比如说: 1 try{ 2 int i = 1/0; 3 }catch(Exception e){ 4 ..... 5 } 小到一个计算,如果除数为0,则会报错

Python中异常处理

丶灬走出姿态 提交于 2020-01-26 02:14:00
1、异常 Exception 错误Error 逻辑错误:算法写错了,加法写成了减法。 笔误:变量名写错了,语法错误。 错误可以避免的 异常Exception 本身就是意外情况。一些意外,导致程序无法正常的执行下去。 是不可避免的。 错误和异常 在高级编程语言中,一般都有错误和异常的概念,异常是可以捕获的并被处理的,但是错误是不能捕获的。 with open('test') as f: pass 错误信息: Traceback (most recent call last): File "C:/Users/WCL/PycharmProjects/untitled1/package/test1/异常处理.py", line 1, in <module> with open('test') as f: FileNotFoundError: [Errno 2] No such file or directory: 'test' def 0A(): pass File "C:/Users/WCL/PycharmProjects/untitled1/package/test1/参数检查.py", line 142 class typeassert ^ SyntaxError: invalid syntax 一个健壮的程序,尽可能的避免错误。 尽可能的捕获,处理各种异常。 2、产生异常 产生

简明Python3教程 15.异常

邮差的信 提交于 2020-01-26 02:12:54
简介 当程序发生意外情况时则产生异常。 例如你需要读一个文件而这个文件并不存在会咋样?又或者是程序运行时你把它误删除了呢? 上述情形通过异常进行处理。 类似的,如果你的程序存在一些非法语句会发生什么呢?这时python会举手告诉你存在一个错误。 错误 考虑一个简单的print函数调用。如果我们把 print 错拼成 Print (注意大小写),这时python将引发一个语法错误。 >>> Print('Hello World') Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> Print('Hello World') NameError: name 'Print' is not defined >>> print('Hello World') Hello World 我们看到一个 NameError 被引发并且发生错误的位置也被打印出来。这就是一个错误处理器(error handler)为这个错误所进行的处理。 异常 我们尝试从用户读取输入,看看当键入 ctrl-d (注:windows用户输入ctrl-z)时会发生什么。 >>> s = input('Enter something --> ') Enter something --> Traceback (most recent

python-异常

杀马特。学长 韩版系。学妹 提交于 2020-01-26 02:12:19
异常 简述 异常可以看作是打破程序正常执行流程的错误事件。 异常的使用场景 (1)网络请求(超时,连接错误等) (2)资源访问(权限问题,资源不存在) (3)代码逻辑(索引越界,KeyError) 异常处理 try: #可能会抛出异常的代码 except (Exception1, Exception2) as e: #可以捕获多个异常并处理 #处理异常的代码 else: #异常没有发生时代码 finally: #无论异常有没有发生都会执行的代码 #一般处理资源的关闭和释放 自定义异常 继承Exception实现自定义异常 给异常加一些附加信息 处理一些业务相关的特定异常(raise MyException) class MyExcepiton(Exception): """docstring for MyExcepiton""" pass try: raise MyExcepiton('my exception') except MyExcepiton as e: print(e) 注意:如果捕获一个父类的异常,那么它的所有子类异常均在被捕获的范围内 来源: https://www.cnblogs.com/marton/p/10994067.html

Python 3 学习笔记之——错误和异常

人走茶凉 提交于 2020-01-26 02:09:10
1. 语法错误 Python 的语法错误被称为解析错,语法分析器会指出出错的代码行,并且在最先找到的错误的位置标记一个小小的箭头。 >>> while True File "<stdin>", line 1 while True ^ SyntaxError: invalid syntax 2. 异常 即使 Python 程序的语法是正确的,但是在运行的时候,也有可能发生错误,运行期监测到的错误称为异常。 >>> print(name) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'name' is not defined >>> a = [1, 2, 3] >>> b = a(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'list' object is not callable >>> 10 / 0 Traceback (most recent call last): File "<stdin>", line 1, in <module> ZeroDivisionError: division by zero 3. 异常处理