首页 \ 问答 \ 扭曲的自定义CancelledError(Twisted custom CancelledError)

扭曲的自定义CancelledError(Twisted custom CancelledError)

Twisted(Python2.7)中是否有一种方法可以在取消延迟(可能继承自CancelledError)时指定自定义异常,以便仅捕获此特定类型的故障?


Is there a way in Twisted (Python2.7) to specify a custom exception when cancelling a deferred (possibly inheriting from CancelledError), to allow trapping only this specific type of failure?


原文:https://stackoverflow.com/questions/44500618
更新时间:2022-09-24 10:09

最满意答案

实际上, Deferred的默认行为是使用CancelledError异常调用errback 。 您始终可以通过在使用自定义异常初始化Deferred和手动调用errback (或任何您想要的任何内容)时提供可调用的canceller来修改此默认值。


Actually the default behavior for a Deferred is to call errback with a CancelledError exception. You can always modify this default by providing the canceller callable when initializing a Deferred and manually call errback (or whatever you want) with your custom exception.

相关问答

更多
  • 我猜你正在做这样的事情来定位你的自定义光标: stage.addEventListener(MouseEvent.MOUSE_MOVE, moved); function moved(e:MouseEvent):void { customCursor.x = e.stageX; customCursor.y = e.stageY; } 如果是这样,当您将鼠标移到MovieClip或其他元素上时,您的侦听器将从该DisplayObject而不是Stage接收事件。 由于某种原因,位于子像素 ...
  • 您的问题突出了文档中的可怕疏忽; 在API文档和叙述文档中都有。 如果让 - 保罗无法弄清楚这样做的“正确方法”,那么普通用户显然没有希望。 我已经提交了一个错误来纠正这种疏忽 。 同时,请避免让 - 保罗的解决方案。 虽然它是功能性的,但它涉及的技术几乎肯定会在未来的版本中不加警告地突破(正如他清楚地指出的那样)。 幸运的是,有支持的方法来做到这一点。 如果您有一个备用信任根,则Certificate可用作trustRoot参数的值。 您可以像这样使用它(我已经使用Twisted 14.0.2测试了以下示 ...
  • 我通常使用这种技术使它工作: 要摆脱默认标题: [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0) forBarMetrics:UIBarMetricsDefault]; 使用可调整大小的图片 UIImage *backButton = [UIImage imageNamed:@"back.png"]; [[UIBarButtonItem appearance ...
  • 实际上, Deferred的默认行为是使用CancelledError异常调用errback 。 您始终可以通过在使用自定义异常初始化Deferred和手动调用errback (或任何您想要的任何内容)时提供可调用的canceller来修改此默认值。 Actually the default behavior for a Deferred is to call errback with a CancelledError exception. You can always modify this defaul ...
  • 这是因为span标签是内联的。 您需要在span中添加display: inline-block ,使其更像按钮。 It's because the span tag is inline. You need to add display: inline-block to your span to behave more like a button.
  • 啊 - 简单! :) 只需打开抛出错误的源代码 ...似乎页面超过maxsize ...这引导我们在这里 。 所以,问题在于你正在尝试获取大型文档。 增加设置中的DOWNLOAD_MAXSIZE限制,你应该没问题。 注意:您的性能会受到影响,因为您阻止CPU进行PDF解码,而这种情况不会发出进一步的请求。 Scrapy的架构严格来说是单线程的。 以下是两个(众多)解决方案: a)使用文件管道下载文件,然后使用其他系统批处理它们。 b)使用reactor.spawnProcess()并使用单独的进程进行PDF ...
  • 事实证明,问题是我在组头中的TextView上设置了填充,然后扭曲了图像。 我发现整个默认的组头和自定义指示器非常麻烦,你不能真正自定义行而不扭曲图像,所以我最终使用组头的自定义视图。 将ExpandableListView的groupIndicator设置为@null:
  • LineReceiver , NetstringReceiver , Int8/16/32Receiver , AMP或PB都不适用于您的问题,因为它们都是特定成帧(以及后两种情况下的消息传递)协议的所有实现。 相反,您有一个要实现的自定义协议。 幸运的是,这是相对简单的:Twisted通过IProtocol实现的dataReceived方法为您提供数据。 处理这类事情的最佳方法实际上是先实现一个简单的函数,而不是担心它是如何插入Twisted的。 在您的情况下,您需要一个解析您的协议的函数; 但是,由于d ...
  • 不要过于熟悉扭曲,我不知道这是不是最好的方法。 我怀疑我在下面提出的建议并不是因为直接在插座上操作感觉不对,但是在这里。 子类server.DNSServerFactory并覆盖handleQuery()方法,例如: import socket from twisted.internet.address import IPv4Address class MyDNSServerFactory(server.DNSServerFactory): def handleQuery(self, messa ...
  • 提供所需的所有服务 是。 以非阻塞的方式进行(根据文档的说法,但是如果有人可以详细说明,我会很感激) Twisted使用通用反应器模型。 I / O通过您选择的民意调查,选择,以确定数据是否可用。 它仅处理可用内容,并将数据传递到应用程序的其他阶段。 这就是非阻塞的方式。 我不认为它提供非阻塞磁盘I / O,但我不确定。 这个功能并不是大多数人在说非阻塞时所需要的。 能够同时为几百个客户提供服务 是。 不,也许吧。 那些客户在做什么? 在浏览器发出100个请求时,每一次都会刷新吗? 每个人都在进行星系碰撞的 ...

相关文章

更多

最新问答

更多
  • 在页面树中使用不同的域(Use different domains in page tree)
  • 为什么这个半圈不会成长?(Why won't this semi circle grow?)
  • 如何学习计算机编程?
  • 如何在单个gcc命令中将多个头文件包和库目录添加到搜索路径?(How to add multiple header include and library directories to the search path in a single gcc command?)
  • VB.Net绑定datagridview Comboboxcolumn到datagridviewTextboxColumn(VB.Net binding datagridview Comboboxcolumn to datagridviewTextboxColumn)
  • 数据库设计 - 当一个记录有许多属性时(database design - when one record has many properties)
  • MATLAB函数计算两个坐标(纬度和经度)之间的距离(MATLAB function to calculate distance between two coordinates (latitude and longitude))
  • 如何从TFS中的团队项目查询所有PBI的历史变更?(How to query all PBI's historical changes from a team project in TFS?)
  • 使用点表示法的Python导入无法按预期工作(Python import using dot notation doesn't work as expected)
  • 我们能否将String列设置为partitionColumn?(Can we able to set String column as partitionColumn?)
  • 下划线模板无法按预期工作(Underscore template doesn't work as intended)
  • 怎么写项目开发的文档?
  • 为什么我的plpgsql函数没有返回任何行(why does my plpgsql function return no rows)
  • 补偿ARM中断的延迟?(compensating latency on ARM interrupts?)
  • Clojure:半平铺嵌套序列(Clojure: Semi-Flattening a nested Sequence)
  • Array方法返回所有null元素而不是object元素(Array method returning all null elements instead of object elements)
  • 禁止基于IP的用户,而不允许管理员访问IP(Ban user based on IP without allowing Admin to access IP)
  • c#wpf多重绑定不是很流行(c# wpf Multibindings not aviable)
  • 亚马逊Generic是什么意思
  • 如何在jgroup复制的hashmap中为状态转移提供超时?(How to give timeout for state transfer in jgroup replicated hashmap?)
  • highcharts可以生成这样的3d柱形图吗?(Can highcharts generate a 3d column chart like this?)
  • 在rails控制台中选择第二个条目?(Selecting second entry in rails console?)
  • 通过了解标记并且不循环遍历项目,将值设置为列表视图的某列中的行(Set a value to a row in a certain column of a listview by knowing the tag and without looping through items)
  • 杀死一个分叉的孩子(Kill a Forked Child)
  • 什么是代码点和代码空间?(What is a code point and code space?)
  • 如何在ruby中获取第一个html标记和第二个html标记之间的内容(how to get the content between the first html tag and the second html tag in ruby)
  • 需要在recyclerview中获取新添加项的视图参考(Need to get the view reference of newly added item in recyclerview)
  • 我今天部计算机出现故障啊,在按开机后,主机便发出“迪”的开机的报警声啊,在上午上过后就不行了,我只是把计算机的所有线重插过就这样,因为D线太乱啊,整理下。但到晚上计算机又能开机啊,可以详细告诉原因吗
  • 将字符串转换为NumPy datetime64 dtype(Convert string to NumPy datetime64 dtype)
  • 模块VB.Net中的命名空间(Namespace in module VB.Net)