C++ try-except语句
我遇到了有关检测VMware或虚拟PC的文章 http://www.codeproject.com/kb/system/system/vmdetect.aspx 我看到他们使用某种试验语句. 因此,我在MSDN中查找了它: http:http:http:http:http:http:http:http:http:http:http://msdn.microsoft.com/en-us/library/s58ftw19%28v=vs.80%29.aspx 我不明白为什么要使用try-except而不是旧的旧trycatch. 它只是给我有关例外的其他信息吗? 如果是这样,我可以在使用附件文章中的代码时使用try-catch,对 谢谢:) 解决方案 __try/__except 是 a try/catch,对于其他类型的例外.您可以捕获硬件异常,例如违反浮点,指针脱离参考等,而不是C ++例外.这被称为结构化异常处理,或者SEH,如果您知道在哪里看,MSDN上有很多.
6 2023-12-05
编程技术问答社区
通过创建一个单独的函数,使try-except的工作方法适用于单行中的许多语句
我是刮擦 因此,我正在通过为try - except创建单独的函数(在shippet 3)中为此问题进行工作,这是我从此处.但是我无法在摘要3中获得代码,例如soup.find_all('style')诸如soup.find_all('style')返回None的命令,因为它应该返回类似于片段的所有style标签的列表.我无法应用参考的解决方案直接在某个时候,我必须通过引用其parent或sibling(例如soup.find('h2',{'class':'css-1iltn77 e17deyx90'}).parent )来达到预期的元素才能间接地重新启动. 摘要1用于设置代码执行的环境. 如果您可以提供一些建议让摘要3工作的建议,那将是很棒的. 摘要1(设置执行代码的环境): import urllib.request import requests from bs4 import BeautifulSoup import re headers = {'User
6 2023-12-01
编程技术问答社区
将VC++的__try/__except EXCEPTION_STACK_OVERFLOW移植到MinGW。
我正在尝试使用VC ++的Try-except语句将某些代码移植到mingw: bool success = true; __try { //... } __except ((EXCEPTION_STACK_OVERFLOW == GetExceptionCode()) ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) { success = false; _resetstkoflw(); } return success; 是否可以使用mingw g ++? 编写捕获堆栈溢出异常的代码 解决方案 您需要手动调用Windows API函数,以注册异常处理;也就是说, AddVectoredExceptionHandler .请注意,通过使用不尊重SEH例外的mingw,抛出任何SEH例外或试图捕获任何此类例外的情况将导致不确定的行为,因
2 2023-11-20
编程技术问答社区
在Python中不能捕获ValueError
我开始学习python,我写了一个非常简单的代码来练习/尝试/除外. 这是代码: a = float(input('num1: ')) b = float(input('num2: ')) try: result = a / b except ValueError as e: print ('error type: ', type (e)) print(result) 每当我输入一个数字时,print in Ducting in Dorking in Dives,但代码崩溃. ZeroDivisionError&TypeError正在工作,但是ValueError 我什至将输入放入单独的尝试/除外,但它仍然无法正常工作. 在这里以及在真实应用中如何处理此错误? 解决方案 进入TRY块之前,发生崩溃.如果您输入带有当前代码的字母,则不会在块中打印错误. 简单地将输入部分放在单独的尝试块中不会抓住它 - 您需要一个与
6 2023-11-13
编程技术问答社区
如何重复输入,直到在Python中满足特殊条件?
我需要从用户中获取整数输入并将其添加到集合中.整数的数量未知.当用户输入"完成"时,输入过程将结束. 这是我的代码: s = set() print('Please type the number, when you are done please type "Done":') while True: try: a = int(input()) s.add(a) except: if a == "Done": break else: print('Integer only, please re-type:') continue print(s) 但它没有按预期工作. 我的想法很简单.如果用户键入整数,则可以添加到SET s.如果他们键入字符串(int(input()是错误的),则它将降低到except,如果字符串是"
4 2023-11-10
编程技术问答社区
syntaxError:'continue'在循环中不正确
我已经有一段时间一直在为这个错误而苦苦挣扎,并且关于口译员为何抱怨"继续"似乎有不同的看法.因此,我想在下面提供错误的代码. import tweepy import time def writeHandlesToFile(): file = open("dataFile.txt","w") try: list = tweepy.Cursor(tweepy.api.followers,screen_name='someHandle',).items(100000) print "cursor executed" for item in list: file.write(item.screen_name+"\n") except tweepy.error.TweepError as e: print "In the except method" print
6 2023-10-28
编程技术问答社区
打印异常和堆栈跟踪到文件
我正在尝试将简单的登录放入我的脚本中.该日志应该告诉我,错误以及尽可能多的修复脚本所需的信息. 我将打印放在文件中str(e)除外,但它提供了很少的信息来知道出了什么问题. 我该如何详细说明?例如,整个未捕获的例外文本,我可以在控制台中看到? try: #code except Exception as e: print_to_file(log.txt,str(e)) 解决方案 尝试这个, import traceback try: 1/0 except Exception as e: with open('log.txt', 'a') as f: f.write(str(e)) f.write(traceback.format_exc()) 如果您想要一个更好的解决方案,应该使用管理时间戳,文件大小和旋转的记录器(执行记录器处理程序) 这是记录器,时间戳和旋转的示例 impor
4 2023-10-26
编程技术问答社区
Python 硒 CTRL+C 关闭 chromedriver
如何捕获Ctrl+C(键盘间断),而不会导致Chromedriver关闭. 当我运行脚本时,它可以关闭Chromedriver. driver = webdriver.Chrome() try: while True: #do stuff with chromedriver except KeyboardInterrupt: print "User pressed CTRL + C" #do other stuff with chromedriver 它确实在我的脚本中捕获了键盘,因此我的脚本仍在继续,但是Chromedriver也会收到并关闭自身. 编辑1: 解决方案在这里当您通过CMD运行脚本或何时运行脚本时不起作用您可以用pyinstaller冻结脚本并运行(IOError: [Errno 4] Interrupted function call) 编辑2: 我还尝试使脚本忽略errno 4(使用try和except
18 2023-10-25
编程技术问答社区
Python Selenium Webdriver-尝试异常循环
我正在尝试在逐帧加载框架的网页上自动化进程.我正在尝试设置try-except循环,该循环仅在确认元素后才执行.这是我设置的代码: from selenium.common.exceptions import NoSuchElementException while True: try: link = driver.find_element_by_xpath(linkAddress) except NoSuchElementException: time.sleep(2) 上面的代码不起作用,而以下幼稚方法确实: time.sleep(2) link = driver.find_element_by_xpath(linkAddress) 上面的尝试循环中是否缺少任何东西?我尝试了各种组合,包括在try之前使用time.sleep(),而不是在except之后. . 谢谢 解决方案 您特定问题的答案是:
2 2023-08-27
编程技术问答社区
如何使try/except块内的变量成为公共变量?
除了block public以外,如何在try/dry/p public中进行变量? import urllib.request try: url = "http://www.google.com" page = urllib.request.urlopen(url) text = page.read().decode('utf8') except (ValueError, RuntimeError, TypeError, NameError): print("Unable to process your request dude!!") print(text) 此代码返回错误 NameError: name 'text' is not defined 如何使变量文本在try/block之外可用? 除外? 解决方案 try语句不会创建一个新的范围,但是如果调用url lib.request.urlopen提出异常,则不会设
4 2023-08-22
编程技术问答社区
为什么在 "except "块后使用命名异常会导致 "NameError"(或 "UnboundLocalError")?
此示例代码在2.x中工作: exc = None try: raise Exception except Exception as exc: pass print(exc) ,但是在3.x中,我遇到了一个错误,说NameError: name 'exc' is not defined.如果我将代码放在函数中,我会得到UnboundLocalError: local variable 'exc' referenced before assignment. 我认为也许我可以通过明确的作业解决这个问题,例如: exc = None try: raise Exception except Exception as exc: exc = exc 但这无效.为什么不?如何从except块外部访问异常? 解决方案 try语句 明确限制绑定异常的范围,以防止循环引用导致其泄漏. 使用AS目标分配了异常时, 在该条款的末尾清除. .
4 2023-08-22
编程技术问答社区
使用库请求发送 POST 请求的问题
import requests while True: try: posting = requests.post(url,json = data,headers,timeout = 3.05) except requests.exceptions.ConnectionError as e: continue # If a read_timeout error occurs, start from the beginning of the loop except requests.exceptions.ReadTimeout as e: continue 链接到更多代码:requests库无限期地执行发布请求.我注意到,当尝试多次失败时,并且while循环在多个时间内启动时,当我最终可以发送邮政请求时,我会在同一秒内从服务器端找到多个条目.我同时写入TXT文件,它仅显示一个条目.每个条目是5个读数.
10 2023-07-25
编程技术问答社区
在 python 中,有没有 sys.exit() 的替代方法?
try: x="blaabla" y="nnlfa" if x!=y: sys.exit() else: print("Error!") except Exception: print(Exception) 我不是在问为什么要丢失错误.我知道它会增加exceptions.SystemExit.我想知道是否有另一种退出方式? 解决方案 一些类似的问题应该真正伴随着代码背后的真正意图.原因是应该完全不同的问题解决.在脚本的正文中,return可用于退出脚本.从另一个角度来看,您只能记住变量中的情况,并在try/except构造之后实现通缉行为.或您的except可能会测试更明确的例外. 下面的代码显示一个带有变量的变化.分配了变量一个函数(在此处未调用分配的函数).该函数仅在try/except之后才调用(通过变量): #!python3 import sys def do_nothing():
4 2023-07-22
编程技术问答社区
将 try/except 中的 except 部分分隔到函数中
我有一个尝试/,除非我在代码中经常重复除部分.这使我相信,除了部分外,最好将除部分除外. 以下是我的用例: try: ... except api.error.ReadError as e: ... except api.error.APIConnectionError as e: ... except Exception as e: ... 我将如何将此逻辑分为一个函数,以便我可以做一些简单的事情: try: ... except: my_error_handling_function(e) 解决方案 只是定义函数: def my_error_handling(e): #Do stuff ...并将exception对象传递为参数: try: #some code except Exception as e: my_error_handling(e) 仅使用通用Exception类型将允许您
6 2023-07-21
编程技术问答社区
在 Python 中编写 try except 的最佳方法是什么?
假设我有一个代码段如下 r = requests.post(url, data=values, files=files) 由于这是一个网络请求,因此可以从此行抛出一堆例外.为了使该论点的完整性,我也可以进行文件读取,发送电子邮件等. try: r = requests.post(url, data=values, files=files) if r.status_code != 200: raise Exception("Could not post to "+ url) except Exception as e: logger.error("Error posting to " + url) 我在这种方法中看到了两个问题. 我刚刚处理了一个通用的例外,不知道这行会提出什么确切的例外,什么是在Python中找到它的最佳方法. 这使得代码看起来很丑陋,只要其强大并处理所有情况. 我想知道在Python中处理异常的最佳方法是什么. 解
6 2023-07-21
编程技术问答社区
Python try-except 块的 DRY 方法?
目标:我有几行代码,每个代码都能产生相同的错误,并保证相同的响应.我如何防止try-except块"不重复自己"问题. 背景: i使用正则表达式从文本文件中刮擦格式较差的数据,然后将其输入自定义对象的字段.该代码效果很好,除非该字段被空白,否则在这种情况下会引发错误. 我在try-except块中处理此错误.如果错误,请将空白插入对象的字段(即''). 问题在于,它可以轻松地变成可读性,良好的python代码变成一团糟的try-except块,每个块都做完全相同的事情.这是"不要重复自己"(又称干燥)违规. 代码: 之前: sample.thickness = find_field('Thickness', sample_datum)[0] sample.max_tension = find_field('Maximum Load', sample_datum)[0] sample.max_length = find_field('Maximum
14 2023-07-21
编程技术问答社区
python 3 try-except 全部出错
是否有可能在不抓住所有可能的例外的情况下进行尝试捕获所有仍然显示错误的所有内容?我有一个情况,每天每天几天将在24/7的脚本中每天发生一次例外.我不能让脚本死亡,但它们也不重要,因为它可以重试,无论我尝试除了所有事情,都可以进行.因此,当我跟踪任何最后一个罕见的例外时,我想将其记录到文件中以进行以后的调试. 示例: try: print(555) except: print("type error: "+ str(the_error)) 用堆栈跟踪替换the_error的任何方法? 是的 try: print(555) except Exception as e: print("type error: " + str(e)) 对于堆栈跟踪,我通常使用 Trackback 模块: import traceback try: print(555) except Exception as e: print("t
42 2023-07-20
编程技术问答社区
使用Python请求模块时的try/except
进行一些API测试并尝试创建一个给定输入URL的函数,它将返回JSON响应,但是,如果HTTP错误是响应,则将返回错误消息. 我以前在使用Urllib2,但现在尝试使用请求.但是,无论错误如何,我的除块都从未执行过. testURL = 'http://httpbin.org/status/404' def return_json(URL): try: response = requests.get(URL) json_obj = response.json() return json_obj except requests.exceptions.HTTPError as e: return "Error: " + str(e) 我从运行上面的结果... 解决方案 如果您希望响应为非2000状态代码response.raise_for_stat
24 2023-07-17
编程技术问答社区
带有返回语句的奇怪的Try-Except-Else-Finally行为
这是一些特殊行为的代码.这是我写的行为的简化版本.这仍然会证明怪异的行为,我对为什么发生这种情况有一些具体的问题. 我在Windows 7上使用Python 2.6.6. def demo1(): try: raise RuntimeError,"To Force Issue" except: return 1 else: return 2 finally: return 3 def demo2(): try: try: raise RuntimeError,"To Force Issue" except: return 1 else: return 2 finally: return 3 except:
6 2023-07-17
编程技术问答社区
为什么mocking 'open'并返回FileNotFoundError会引发AttributeError。exit__?
用open FileNotFoundError提高AttributeError: __exit__测试.为什么会发生这种情况,我该怎么办? 以下代码打开一个简单的文本文件.如果缺少文件,则会生成默认值.它已经通过常规跑步检查,并且似乎正常工作. so_main.py import os import so_config def load_savelocation(): path = os.path.join(so_config.ROOT, so_config.SAVELOCATION_FN) savelocation_path = os.path.normpath(path) try: with open(savelocation_path) as f: so_config.SAVELOCATION_PATH = f.readline() except FileNotFoundError:
10 2023-07-16
编程技术问答社区