python except异常处理之后不退出,解决异常继续执行的实现
写了个等待分析结果,解析分析结果json的脚本
那个文件生成时候有点大,有时候监测到新文件就去解析可能文件只生成了一半,就会抛出异常退出当前线程,此次的分析结果就丢失了,如果load json文件失败,一般就是上百M到几G的json大文件,等待10秒,如果再次load失败,重新再load一次,这样脚本看上去挺繁琐的,监控线程又只能监控文件的创建,修改和删除,不知道创建的文件是否写完毕。
def run_analyze(): sleep(2) berror = True temp = {} while berror == True: with open(self.filepath, 'r') as f: global filename,filescore,filesize,filebehavior,filestrings try: temp = json.loads(f.read()) berror = False except:#KeyError, VauleError print "analyze report is creating,please wait a moment..." f.close() sleep(5) berror = True pass filescore = float(temp['info']['score']) print ("filescore:%d" %filescore)
补充知识:Python强制抛出自定义异常
如下所示:
raise Exception("My Exception")
当程序运行到这行时,会抛出异常,打印出Exception: My Exception
以上这篇python except异常处理之后不退出,解决异常继续执行的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python使用try except处理程序异常的三种常用方法分析
本文实例讲述了Python使用try except处理程序异常的三种常用方法.分享给大家供大家参考,具体如下: 如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: try: 语句1 语句2 . . 语句N except .........: do something ....... 但是你并不知道"语句1至语句N"在执行会出什么样的异常,但你还要做异常处理,且想把出现的异常打印出来,并不停止程序的运行,所以在"except
-
Python中的异常处理try/except/finally/raise用法分析
本文实例分析了Python中的异常处理try/except/finally/raise用法.分享给大家供大家参考,具体如下: 异常发生在程序执行的过程中,如果python无法正常处理程序就会发生异常,导致整个程序终止执行,python中使用try/except语句可以捕获异常. try/except 异常的种类有很多,在不确定可能发生的异常类型时可以使用Exception捕获所有异常: try: pass except Exception, e: print Exception, ":"
-
python异常处理try except过程解析
这篇文章主要介绍了python异常处理try except过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 某些时候我们能够预判程序可能会出现何种类型的错误,而此时我们希望程序继续执行而不是退出,此时就需要用到异常处理:下面是常用的几种异常处理方法 #通过实例属性 列表 字典构造对应的异常 class Human(object): def __init__(self, name, age, sex): self.name = name s
-
python try except 捕获所有异常的实例
如下所示: try: a=1 except Exception as e: print (e) import traceback import sys try: a = 1 except: traceback.print_exc() #sys.exc_info() 以上这篇python try except 捕获所有异常的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python try except返回异常的信息字符串代码实例
问题 https://docs.python.org/3/tutorial/errors.html#handling-exceptions https://docs.python.org/3/library/exceptions.html#ValueError try: int("x") except Exception as e: '''异常的父类,可以捕获所有的异常''' print(e) # e变量是Exception类型的实例,支持__str__()方法,可以直接打印. inv
-
Python try except异常捕获机制原理解析
当你执行大型程序的时候,突然出现exception,会让程序直接停止,这种对服务器自动程序很不友好,而python有着较好的异常捕获机制,不会立刻终止程序. 这个机制就是try-except. 1. 发生异常时可配置备用程序 aa = [1,2,4,5,7,0,2] for ii in aa: try: h = 2/ii print(h) except: #发生异常时备用 h = 2/(ii+1) print(h) 2. 单个异常捕获 dict_ = {} try: print(dict_['t
-
使用Python将Exception异常错误堆栈信息写入日志文件
假设需要把发生异常错误的信息写入到log.txt日志文件中去: import traceback import logging logging.basicConfig(filename='log.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') try: raise Exception('发生异常错误信息') except: #方案一,自己定义一个文件,自己把错误堆栈信息写入文件. #er
-
python except异常处理之后不退出,解决异常继续执行的实现
写了个等待分析结果,解析分析结果json的脚本 那个文件生成时候有点大,有时候监测到新文件就去解析可能文件只生成了一半,就会抛出异常退出当前线程,此次的分析结果就丢失了,如果load json文件失败,一般就是上百M到几G的json大文件,等待10秒,如果再次load失败,重新再load一次,这样脚本看上去挺繁琐的,监控线程又只能监控文件的创建,修改和删除,不知道创建的文件是否写完毕. def run_analyze(): sleep(2) berror = True temp = {} whi
-
python多线程调用exit无法退出的解决方法
python启用多线程后,调用exit出现无法退出的情况,原因是exit会抛出Systemexit的异常,如果在exit外围调用了try,就会出现ctrl+c两次才能退出的情况 解决方法: thread.setDaemon(True) thread.start() 线程启动前设置setDaemon(True) 以上这篇python多线程调用exit无法退出的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
解决Python 遍历字典时删除元素报异常的问题
错误的代码① d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.items(): del(d[k]) 错误的代码② -- 对于Python3 d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.keys(): del(d[k]) 正确的代码 d = {'a':1, 'b':0, 'c':1, 'd':0} keys = list(d.keys()) for key, val in keys: d
-
深入理解python try异常处理机制
深入理解python try异常处理机制 #python的try语句有两种风格 #一:种是处理异常(try/except/else) #二:种是无论是否发生异常都将执行最后的代码(try/finally) try/except/else风格 try: <语句> #运行别的代码 except <名字>: <语句> #如果在try部份引发了'name'异常 except <名字>,<数据>: <语句> #如果引发了'name'异常,获得附
-
Python Selenium异常处理的实例分析
1.说明 在使用selenium时,不可避免的会遇到一些异常情况,比如超时.没有找到节点的错误等等.一旦出现这样的错误,程序就不能再运行了.这里我们可以使用tryexcept语句来捕捉异常. 2.实例 from selenium import webdriver from selenium.common.exceptions import TimeoutException, NoSuchElementException browser = webdriver.Chrome() try: brow
-
Python常见异常处理总结
目录 异常处理介绍 语法报错 异常处理 解决方法 抛出异常 自定义异常 其他内置函数 总结 异常处理介绍 在实际的开发中,我们经常遇到一些报错的例子,在pycharm的显示页面下,当我们看到一串串的红色的英文字母的时候,就是出现异常,这个时候如果英文好一点的童鞋,就可以按照它的提示,自己去解决.但是英文是很多的童鞋的软肋,不过你也不要担心,这个时候你就需要有一个翻译神器,我使用的是网易有道词典,不过有时候我们还是会遇到一些比较生僻的表达,所以本期文章我们就一起来看看关于Python实际开发过程中
-
python 如何实现跳过异常继续执行
目录 python如何跳过异常继续执行 下面有两种解决方法 拓展资料 python错误之NameError 原因 解决办法 python如何跳过异常继续执行 下面有两种解决方法 第一种是类似if…else…:另外一种是使用语句来实现继续执行: 方法一:使用try…except…语句,类似于if…else…,可以跳过异常继续执行程序,这是Python的优势 用法如下: 方法二:使用语句来继续执行: 拓展资料 异常处理特点: 1.在应用程序遇到异常情况(如被零除情况或内存不足警告)时,就会产生异常.
-
python try 异常处理(史上最全)
在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! 有时候我们写程序的时候,会出现一些错误或异常,导致程序终止. 为了处理异常,我们使用try...except 把可能发生错误的语句放在try模块里,用except来处理异常. except可以处理一个专门的异常,也可以处理一组圆括号中的异常, 如果except后没有指定异常,则默认处理所有的异常. 每一个try,都必须至少有一个except 在python的异常中,有一个万能异常:Exc
-
Laravel 5.5 异常处理 & 错误日志的解决
简介 Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户. 此外,Laravel 还集成了 Monolog 日志库以便提供各种功能强大的日志处理器,默认情况下,Laravel 已经为我们配置了一些处理器,我们可以选择单个日志文件,也可以选择记录错误信息到系统日志. 配置 调试模式 配置文件 config/app.php 中的 debug 配置项表示是否开启调试模式,调试模式下会将错误信息直接暴露给客户端. 默
随机推荐
- Delphi7中群发Email邮件的方法
- 基于vue2.0+vuex+localStorage开发的本地记事本示例
- AngularJS基础 ng-init 指令简单示例
- JavaScript 应用类库代码
- BootStrap表单宽度设置方法
- JavaScript 学习笔记之数据类型
- BootStrap Fileinput的使用教程
- Android仿淘宝商品拖动查看详情及标题栏渐变功能
- 各种页面定时跳转(倒计时跳转)代码总结
- 详解javascript表单的Ajax提交插件的使用
- 微信小程序 支付功能开发错误总结
- Android开发-之监听button点击事件的多种方法
- PHP面向对象自动加载机制原理与用法分析
- Android 5.1 WebView内存泄漏问题及快速解决方法
- Ubuntu 16.04无法切换root权限问题的解决
- Android开发之组件GridView简单使用方法示例
- PHP PDOStatement::errorInfo讲解
- SQL SERVER 2008 r2 数据压缩的两种方法第1/2页
- JavaScript刷新页面的几种方法总结
- Python3.6连接Oracle数据库的方法详解