Questions tagged «exception»

异常是一种异常情况,需要偏离程序的正常流程。通常,异常不应导致完全失败,而应由异常处理程序来处理。异常处理是许多编程语言中的内置构造。通常,通过展开堆栈来处理异常,从而回滚到异常范围之外的已定义状态,然后调用处理程序块或例程。

9
在catch块中引发异常-是否会再次捕获?
这似乎是一个编程101的问题,我以为我知道答案,但是现在发现自己需要仔细检查。在下面的这段代码中,在第一个catch块中引发的异常是否会被下面的常规Exception catch块捕获? try { // Do something } catch(IOException e) { throw new ApplicationException("Problem connecting to server"); } catch(Exception e) { // Will the ApplicationException be caught here? } 我一直认为答案是否定的,但是现在我有一些奇怪的行为可能是由这种情况引起的。对于大多数语言来说,答案可能是相同的,但是我正在使用Java。
180 java  exception 

8
Python 2.6中不推荐使用BaseException.message
当我使用以下用户定义的异常时,我收到一条警告:Python 2.6中不推荐使用BaseException.message: class MyException(Exception): def __init__(self, message): self.message = message def __str__(self): return repr(self.message) 这是警告: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 self.message = message 这怎么了 我要更改什么以摆脱过时警告?

6
从Java中的finally块返回
最近我很惊讶地发现,在Java的finally块中可能有一个return语句。 似乎很多人都认为这是一件坏事,如“ 不要在finally子句中返回”中所述。更深入地研究,我还发现“ Java的回报并不总是 ”,这在finally块中显示了一些其他类型的流控制的可怕例子。 因此,我的问题是,谁能给我一个示例,其中finally块中的return语句(或其他流控制)产生更好/更易读的代码吗?

7
django MultiValueDictKeyError错误,我该如何处理
我正在尝试将对象保存到数据库中,但是它引发了MultiValueDictKeyError错误。 问题出在表格内,is_private用一个复选框表示。如果未选中该复选框,则显然不会传递任何内容。这是消除错误的地方。 我如何正确处理并捕获此异常? 该行是 is_private = request.POST['is_private']
174 python  django  exception 


2
java.net.MalformedURLException:没有协议
我收到类似Java的异常: java.net.MalformedURLException: no protocol 我的程序尝试使用以下方法解析XML字符串: Document dom; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); dom = db.parse(xml); XML字符串包含: String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+ " <s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"+ " <s:Header>"+ " <ActivityId CorrelationId=\"15424263-3c01-4709-bec3-740d1ab15a38\" xmlns=\"http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics\">50d69ff9-8cf3-4c20-afe5-63a9047348ad</ActivityId>"+ " <clalLog_CorrelationId xmlns=\"http://clalbit.co.il/clallog\">eb791540-ad6d-48a3-914d-d74f57d88179</clalLog_CorrelationId>"+ " </s:Header>"+ " <s:Body>"+ " <ValidatePwdAndIPResponse xmlns=\"http://tempuri.org/\">"+ " <ValidatePwdAndIPResult xmlns:a=\"http://schemas.datacontract.org/2004/07/ClalBit.ClalnetMediator.Contracts\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">"+ " <a:ErrorMessage>Valid …
173 java  xml  exception 

4
如何捕获像异常一样的numpy警告(不仅用于测试)?
我必须在Python中为正在执行的项目制作Lagrange多项式。我正在做一个重心样式,以避免使用显式的for循环,而不是牛顿的分差样式。我的问题是我需要用零除,但是Python(或者也许是numpy)只是将其警告而不是正常异常。 因此,我需要知道的是如何捕获此警告,就像它是一个例外一样。我在本网站上发现的与此相关的问题并未按照我需要的方式回答。这是我的代码: import numpy as np import matplotlib.pyplot as plt import warnings class Lagrange: def __init__(self, xPts, yPts): self.xPts = np.array(xPts) self.yPts = np.array(yPts) self.degree = len(xPts)-1 self.weights = np.array([np.product([x_j - x_i for x_j in xPts if x_j != x_i]) for x_i in xPts]) def __call__(self, x): warnings.filterwarnings("error") try: bigNumerator …

3
.NET中有什么ApplicationException?
要抛出异常,我通常使用内置的异常类,例如ArgumentNullException和NotSupportedException。但是,有时我需要使用自定义异常,在这种情况下,我会写: class SlippedOnABananaException : Exception { } class ChokedOnAnAppleException : Exception { } 等等。然后我将它们扔到我的代码中。但是今天我遇到了ApplicationException全班学生-我应该改用它吗?这是为了什么? 拥有许多名称完全不同的有效相同的Exception类似乎没有效率(我通常不需要任何单独的功能)。但是我不喜欢捕获泛型ApplicationException并且必须使用额外的代码来确定错误是什么的想法。 ApplicationException我的代码应该放在哪里?

6
Java异常未捕获?
我对try-catch结构有一个小的理论问题。 我昨天参加了有关Java的实践考试,但我不理解以下示例: try { try { System.out.print("A"); throw new Exception("1"); } catch (Exception e) { System.out.print("B"); throw new Exception("2"); } finally { System.out.print("C"); throw new Exception("3"); } } catch (Exception e) { System.out.print(e.getMessage()); } 问题是“输出将是什么样?” 我很确定这将是AB2C3,但请注意,这不是事实。 正确的答案是ABC3(经过测试,实际上就是这样)。 我的问题是,Exception(“ 2”)放在哪里?

9
如何获得红宝石来打印完整的回溯记录而不是被截断的回溯记录?
当我得到异常时,通常是在调用堆栈的深处。发生这种情况时,我通常隐藏了真正令人讨厌的代码行: tmp.rb:7:in `t': undefined method `bar' for nil:NilClass (NoMethodError) from tmp.rb:10:in `s' from tmp.rb:13:in `r' from tmp.rb:16:in `q' from tmp.rb:19:in `p' from tmp.rb:22:in `o' from tmp.rb:25:in `n' from tmp.rb:28:in `m' from tmp.rb:31:in `l' ... 8 levels... from tmp.rb:58:in `c' from tmp.rb:61:in `b' from tmp.rb:64:in `a' from tmp.rb:67 “ ... 8个级别...”的截断给我带来了很多麻烦。我对此没有太大的成功:我如何告诉ruby我希望转储包括整个堆栈?

30
file_put_contents(meta / services.json):无法打开流:权限被拒绝
我是Laravel的新手。我试图打开http://localhost/test/public/,我得到了 异常处理程序中的错误。 我四处搜寻,并更改了存储目录的权限,chmod -R 777 app/storage但无济于事。 我debug=>true进入app.php并访问了该页面,并在异常处理程序中收到错误消息: 无法打开流或文件“ /var/www/html/test/app/storage/logs/laravel.log”:无法打开流:/ var / www / html / test / bootstrap / compiled中的权限被拒绝。 php:8423 然后,我使用命令更改了存储目录的权限,chmod -R 644 app/storage并且“异常处理程序中的错误”错误消失了,并加载了页面。但是在那里,我得到了这个: file_put_contents(/var/www/html/laravel/app/storage/meta/services.json):无法打开流:权限被拒绝


7
Visual Studio:如何打破处理的异常?
我希望Visual Studio在发生处理的异常时中断(即,我不只是想看到“第一次机会”消息,我想调试实际的异常)。 例如,我希望调试器在异常处中断: try { System.IO.File.Delete(someFilename); } catch (Exception) { //we really don't care at runtime if the file couldn't be deleted } 我遇到了有关Visual Studio.NET的这些说明: 1)在VS.NET中,转到“调试”菜单>>“异常...” >>“公共语言运行时异常” >>“系统”,然后选择“ System.NullReferenceException” 2)在该对话框的底部,有一个“当引发异常时:”组框,选择“闯入调试器” 3)运行您的方案。当引发异常时,调试器将停止并通过一个类似以下对话框的对话框通知您:“已引发类型为“ System.NullReferenceException”的异常。[中断] [继续]“ 点击[Break]。这将使您进入引起问题的代码行。 但是它们不适用于Visual Studio 2005(“ 调试”菜单上没有“ 例外”选项)。 有谁知道在Visual Studio的“找到此选项”对话框的“ 抛出异常时 ”组框的位置,选项为“ 闯入调试器 ”吗? 更新:问题是我的“ 调试”菜单没有“ 例外”项。我自定义菜单以手动添加它。


7
.NET中应为无效或意外参数抛出哪些异常?
.NET中应为无效或意外参数引发哪些类型的异常?我什么时候会选择一个而不是另一个? 跟进: 如果您有一个函数期望一个对应于一个月的整数并且传入了'42',那么您将使用哪个异常?即使这不是一个集合,它也会属于“超出范围”类别吗?
163 c#  .net  vb.net  exception 

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.