Questions tagged «error-handling»

旨在处理错误代码,异常或其他特定于语言的信号所指示的错误的编程语言构造。

9
jQuery Ajax错误处理可忽略中止
我想为ajax调用提供一种全局错误处理方法,这就是我现在所拥有的: $.ajaxSetup({ error: function (XMLHttpRequest, textStatus, errorThrown) { displayError(); } }); 我需要忽略的错误aborted。errorThrown为null,textStatus为error。我该如何检查aborted?

3
处理ANTLR4中的错误
解析器不知道要做什么时的默认行为是将消息打印到终端,例如: 第1:23行在“}”处缺少DECIMAL 这是一个很好的信息,但是在错误的位置。我宁愿将此作为例外。 我尝试使用BailErrorStrategy,但是会抛出一个ParseCancellationException没有消息的消息(由引起InputMismatchException,也没有消息)。 有什么办法可以让我通过异常报告错误,同时保留消息中的有用信息? 这就是我真正想要的—我通常在规则中使用动作来构建对象: dataspec returns [DataExtractor extractor] @init { DataExtractorBuilder builder = new DataExtractorBuilder(layout); } @after { $extractor = builder.create(); } : first=expr { builder.addAll($first.values); } (COMMA next=expr { builder.addAll($next.values); })* EOF ; expr returns [List<ValueExtractor> values] : a=atom { $values = Arrays.asList($a.val); } | fields=fieldrange { …

8
检查localStorage是否可用
我知道有关检查的问题很多,localStorage但是如果有人在浏览器中手动将其关闭怎么办?这是我用来检查的代码: localStorage.setItem('mod', 'mod'); if (localStorage.getItem('mod') != null){ alert ('yes'); localStorage.removeItem('mod'); } else { alert ('no'); } 简单的功能,它的工作原理。但是,如果我进入Chrome设置并选择“不保存数据”选项(我不记得确切的名字),当我尝试运行此功能时,我什么也看不到Uncaught Error: SecurityError: DOM Exception 18。那么,有没有一种方法可以检查此人是否已将其完全关闭? 更新:这是我尝试的第二个功能,但仍然没有响应(警告)。 try { localStorage.setItem('name', 'Hello World!'); } catch (e) { if (e == QUOTA_EXCEEDED_ERR) { alert('Quota exceeded!'); } }

4
Python是否有一个argc参数?
我已经用C和C ++编写了相同的程序(打开文本文件并显示内容)。现在在Linux机器上用Python做同样的事情。 在C程序中,我使用了代码: if (argc != 2) { /* exit program */ } 问题:Python用什么来检查参数数量 #!/usr/bin/python import sys try: in_file = open(sys.argv[1], "r") except: sys.exit("ERROR. Did you make a mistake in the spelling") text = in_file.read() print text in_file.close() 电流输出: ./python names.txt = Displays text file (correct) ./python nam = error …

5
如何在Laravel中手动返回或引发验证错误/异常?
有一种将CSV数据导入数据库的方法。我使用进行一些基本验证 class CsvImportController extends Controller { public function import(Request $request) { $this->validate($request, [ 'csv_file' => 'required|mimes:csv,txt', ]); 但是在那之后,由于更复杂的原因,事情可能会出错,在兔子洞的更深处,这会引发某种异常。我无法在validate此处编写用于该方法的适当的验证内容,但是,我真的很喜欢验证失败时Laravel的工作方式以及将错误嵌入到刀片视图中的难易程度,等等。 是否有一种(最好是干净的)方式手动告诉Laravel:“我知道我validate现在没有使用您的方法,但我真的很希望您像在这里一样暴露此错误”?是否有我可以返回的东西,可以包装东西的异常之类的东西? try { // Call the rabbit hole of an import method } catch(\Exception $e) { // Can I return/throw something that to Laravel looks // like a validation error and acts …

13
在Python中尝试直到没有错误
我在Python中有一段代码似乎可能导致错误,因为它正在访问服务器,有时该服务器有500个内部服务器错误。我想一直尝试直到没有收到错误为止。我的解决方案是: while True: try: #code with possible error except: continue else: #the rest of the code break 对我来说,这似乎是一种hack。有没有更Python化的方式来做到这一点?

2
IndexError:数组索引过多
我知道有很多这样的线程,但是它们都是用于非常简单的情况(例如3x3矩阵)之类的,解决方案甚至还没有开始应用于我的情况。因此,我尝试绘制G与l1的关系图(这不是11,而是L1)。数据在我从excel文件加载的文件中。excel文件为14x250,因此有14个参数,每个参数包含250个数据点。我有另一个用户(向休·博斯韦尔大喊大叫!)帮助我解决代码中的错误,但现在又出现了另一个错误。 所以这是有问题的代码: # format for CSV file: header = ['l1', 'l2', 'l3', 'l4', 'l5', 'EI', 'S', 'P_right', 'P1_0', 'P3_0', 'w_left', 'w_right', 'G_left', 'G_right'] def loadfile(filename, skip=None, *args): skip = set(skip or []) with open(filename, *args) as f: cr = csv.reader(f, quoting=csv.QUOTE_NONNUMERIC) return np.array(row for i,row in enumerate(cr) if i not …


7
尝试/捕获似乎没有效果
我是PowerShell的新手,我正尝试通过try / catch语句添加错误处理,但它们似乎并未真正捕获错误。这是Powershell v2 CP3。 $objComputer = $objResult.Properties; $strComputerName = $objComputer.name write-host "Checking machine: " $strComputerName try { $colItems = get-wmiobject -class "Win32_PhysicalMemory" -namespace "root\CIMV2" -computername $strComputerName -Credential $credentials foreach ($objItem in $colItems) { write-host "Bank Label: " $objItem.BankLabel write-host "Capacity: " ($objItem.Capacity / 1024 / 1024) write-host "Caption: " …

10
PHP注意:未定义偏移:读取数据时带有数组的1
我收到此PHP错误: PHP Notice: Undefined offset: 1 这是抛出它的PHP代码: $file_handle = fopen($path."/Summary/data.txt","r"); //open text file $data = array(); // create new array map while (!feof($file_handle) ) { $line_of_text = fgets($file_handle); // read in each line $parts = array_map('trim', explode(':', $line_of_text, 2)); // separates line_of_text by ':' trim strings for extra space $data[$parts[0]] …


19
如何将iPhone OSStatus代码转换为有用的东西?
我对这个iPhone SDK及其文档感到不快... 我正在呼叫AudioConverterNew 在“返回”下的文档中:它说“返回状态码” ...真的... 到目前为止,通过玩弄参数,我只能得到两个不同的错误,在Audio Converter参考的底部都没有列出。 它们是'mrep'和'?tmf'(将OSStatus广播到char数组),但是具体的代码并不是真正的重点。 据我所知,随机错误代码是在随机文件中定义的,因此您不能仅搜索一个文件,也找不到帮助文档,该文档仅允许您搜索错误代码以获取更多信息,并从我可以说,在OS X中,您可以使用GetMacOSStatusErrorString()将错误转换为有用的东西,但是没有iPhone等效的东西吗? 任何帮助将不胜感激。 编辑: 好的,所以将它们强制转换为反向(我检查了“ mrep”但没有回过头来),fmt吗?在音频转换器api的列表中,如果有点含糊,但还算公道,仍然不存在“烫发”(尽管可能与不支持aac解码的模拟器有关),这很容易解释。一般问题仍然存在。

4
在远程Shell中使用Fabric进行run()调用时,能否捕获错误代码?
通常,只要run()调用返回非零退出代码,Fabric就会退出。但是,对于某些电话,这是预期的。例如,当PNGOut无法压缩文件时,它将返回错误代码2。 目前,我只能通过使用shell逻辑(do_something_that_fails || true或do_something_that_fails || do_something_else)来规避此限制,但我希望能够将逻辑保留在纯Python中(Fabric承诺)。 有没有一种方法可以检查错误代码并对错误代码做出反应,而不是让Fabric死机而死?我仍然希望其他呼叫具有默认行为,因此通过修改环境来更改其行为似乎不是一个好选择(据我所知,您只能使用它来警告它而不是死亡)。

1
Geopandas ImportError:要在geopandas中绘制多边形,必须使用笛卡尔软件包
我正在尝试使用ANACONDA spyder运行一个简单的geopandas代码。但是,我遇到一个错误。 我已包含以下代码和错误: - 这是代码: import geopandas as gpd world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')) world.plot() import matplotlib.pyplot as plt plt.show() - 这是错误: “在plot_polygon_collection中,文件” C:\ Users \ usr \ Anaconda3 \ lib \ site-packages \ geopandas \ plotting.py“,第90行,”在笛卡尔熊猫中绘制多边形需要笛卡尔软件包。“ ImportError:要在geopandas中绘制多边形,需要使用笛卡尔软件包。 - 我在网上检查过,但找不到针对此问题的故障排除解决方案。任何人都可以帮助和建议吗? 赞赏。

2
为什么在except子句中使用“或”不会引起SyntaxError?有有效的用途吗?
在工作中,我偶然发现了一个except带有or运算符的子句: try: # Do something. except IndexError or KeyError: # ErrorHandling 我知道异常类应该作为元组传递,但是它使我感到困惑,甚至不会引起SyntaxError。 所以首先我想研究一下它是否真的有效。事实并非如此。 >>> def with_or_raise(exc): ... try: ... raise exc() ... except IndexError or KeyError: ... print('Got ya!') ... >>> with_or_raise(IndexError) Got ya! >>> with_or_raise(KeyError) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.