如何在Spring拦截器中使用@ExceptionHandler?
我正在使用SpringMVC为客户端创建RESTFUL API,我有一个拦截器检查访问. public class AccessTokenInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; Authorize authorizeRequired = handlerMethod.getMethodAnnotation(Authorize.class
24 2023-05-23
编程技术问答社区
围绕Invoke和检查异常
我有一个有关涉及注释的问题.假设我有一个带有方法A的bean,它可以通过在某些拦截器中进行注释的方法增强.方法A在签名中没有任何例外,而"增强"方法可以引发一些检查的异常.没有汇编错误,但是当情况发生时,运行时会发生什么(如@aroundinvoke方法中,抛出此检查的异常)吗?它会转换为某个运行时例外吗? 解决方案 Interpector 1.2 interceptor 1.2规格((截至本文的最新情况)并未指定此情况的行为,因此该行为将是特定于产品的.我不建议依靠该行为,除非产品记录该行为,并且您对产品特定的依赖性也可以.我怀疑大多数实施将抛出某种不受限制的例外(最有可能Ejbexception或UndeclaredThrodthrowableException).我知道WebSphere Application Server抛出EJBException. 其他解决方案 拦截器在周围撤离时被标记为投票例外的原因,是因为我们真的不知道被拦截的方法可以抛出什么,无论是检查
2 2023-04-20
编程技术问答社区
在Python中使用多个异常
有没有办法在Python中使用多个异常?喜欢下面的代码: try: #mycode except AttributeError TypeError ValueError: #my exception 我的意思是如何使用AttributeError TypeError ValueError? 解决方案 使用元组: try: # mycode except (AttributeError, TypeError, ValueError): # catches any of the three exception types above 引用参考try语句文档 : 当try套件中发生异常时,搜索了异常处理程序.此搜索依次检查除非条款,直到找到与例外相匹配的条款. [...] 对于带有表达式的除外子句,评估该表达式,并且子句与例外相匹配,如果结果对象"兼容"与例外相匹配.如果对象是异常对象的类或基类兼容的对象的类或基类,或包含与异常兼容
34 2023-04-20
编程技术问答社区
如何用JAVA处理REST API的内部服务器错误?
我创建了一个以处理运行时异常在服务呼叫期间抛出的类,我的代码是 @Override public Response toResponse(WebApplicationException exception) { Response response=exception.getResponse(); if(response.getStatus()==400) return Response.status(Response.Status.BAD_REQUEST).entity("Invalid data format. Please enter the data in xml format").build(); else if(response.getStatus()==403) return Response.status(Response.Status.FORBIDDEN).entity("You are not authori
0 2023-04-20
编程技术问答社区
捕捉Python子进程异常
我有一个python脚本,我在下面使用子进程调用另一个脚本. sp = subprocess.Popen("script.py --arg1 --arg2', cwd=GIVEN_PATH, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) while sp.poll() is None: for out in iter(sp.stdout.readline,''): self.log(out.rstrip()) 这对我来说很好,但是我想从脚本中获得任何例外.我知道我们可以获取retcode,但实际上我需要获取完整的异常信息. 如果script.py提高 raise IOERROR("got an exception") 然后我需要知道这些信息. Simailar Way我们获得s
16 2023-04-20
编程技术问答社区
堆栈弹出循环没有弹出所有元素
我正在练习试用,例外处理以及堆栈和队列,因此,尽管代码可能不切实际,但对我的实践很有用. public class Practice { public static void main(String args[]){ Stack sStack = new Stack(); Queue sQueue = new LinkedList(); Scanner input = new Scanner(System.in); String inString = " "; boolean done = false; do{ try{ while(!inString.equals("")){ System.out.println("Enter a string: "); inStr
4 2023-04-20
编程技术问答社区
测试404和500页的Rail开发
我试图为Rails 3.2.16应用程序编写我的404和500页.我添加到application_controller.rb以下内容: def local_request? false end binding.pry unless ActionController::Base.consider_all_requests_local rescue_from Exception, with: :render_500 rescue_from ActionController::RoutingError, with: :render_404 rescue_from ActionController::UnknownController, with: :render_404 rescue_from ActionController::UnknownAction, with: :render_404 rescue_from A
6 2023-04-20
编程技术问答社区
错误: 不是一个有效的文件名 ( OleDbException )
我有一个简单的访问数据库,其中包含一个表.就这个 对于我的按钮加载事件,我有此代码 Dim con As New OleDb.OleDbConnection Dim dbProvider As String Dim dbSource As String dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" dbSource = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=‪E:\addressBook\AddressBook.mdb" con.ConnectionString = dbProvider & dbSource con.Open() MsgBox("Opened") con.Close() 和在con.open()行上,我得到了这个例外.我不明白问题是什么.也许" con"这个名字是问题所在
40 2023-04-20
编程技术问答社区
在python中捕捉异常/运行时错误
我有一个网络刮擦python脚本,当您运行时,它会要求一个网址.我想发生的是验证用户输入,例如.如果是有效的网址,或者当用户没有输入时.我已经完成了尝试和,除了几乎有效,它显示了我希望用户看到的消息,但它也返回追溯呼叫,我不想要它.我只想显示我的自定义错误消息.谁能帮我实施这个?这是我的代码: import sys, urllib, urllib2 try: url= raw_input('Please input address: ') webpage=urllib.urlopen(url) print 'Web address is valid' except: print 'No input or wrong url format usage: http://wwww.domainname.com ' def wget(webpage): print '[*] Fetching webpage...\n' p
8 2023-04-20
编程技术问答社区
避免Python中的多个Try/Except块
我有一个工作代码,但是发现除了块以处理异常非常低的块外,有很多尝试/.有一个更好的方法吗? 我当前正在使用的代码在下面粘贴.我应该执行自定义功能还是循环?我如何创建一个? 由于要求,代码已缩短... rows = [] rows.append(['Name','Weight', 'Height', 'Season', 'Age', 'Tm', 'Lg', 'Pos', 'G', 'GS', 'MP', 'FG', 'FGA' , 'FGP' , 'P3' , 'PA3' , 'PP3' , 'P2' , 'PA2', 'PP2', 'eFGP' , 'FT', 'FTA' , 'FTP', 'ORB', 'DRB' , 'TRB', 'AST' , 'STL', 'BLK', 'TOV', 'PF' , 'PTS']) for result in results[1:len(results)]: Name = soup.find(name="h1", attr
14 2023-04-20
编程技术问答社区
Postgres 异常和 java
我正在使用" PostgreSQL-9.3-1102.jdbc3.jar"来连接到数据库. 当我有一个例外时,例如一个空值, 我可以使用几种方法来捕获例外. 例如. 尝试 { ............} 捕获(psqlexception sers){ ......... } 或 尝试{.......} 捕获(sqlexception se){.......} 或 尝试{ .......} 捕获(异常SE){ ........ } 我的目标是在我很有趣的情况下捕获特定的SQLSTATE. 例如,我想捕获一个字段的无效null值, 后者返回值" 23502" SQLSTATE的值,但是在任何先前的"捕获"中,我都不会这样做,因为错误代码是继承的,我无法检查. 在上一个"捕获"中,我可以拥有" .getMessage",但这并没有帮助我,我想检查SQLSTATE 感谢您的任何想法. 解决方案 捕获SQLExceptoin然后使用 S
6 2023-04-20
编程技术问答社区
我为什么要扩展java.lang.RuntimeException?
我最近被问到一个问题,显然是在采访中,关于扩展java.lang.runtimeexception. 我被要求引用一个示例,需要扩展java.lang.runtimeexception. 我一直认为我们不需要扩展Runtime Exception,任何人都可以启发我吗? 谢谢, SB 解决方案 一个层的运行时异常是检查另一层(并作用于)异常. 我可以看到容器,例如servlet容器; REPL和/或任何顶级解释器循环;等等.合法选择和捕获Runtime Exceptions,因为它们不应该崩溃,仅仅是因为堆栈中的某些东西更深. 类似于容器外壳,越过邻接边界,例如越过层或层通常需要更明确的异常语义. 如果"原因"和/或消息属性在语义上证明不足以表达"嘿,它破裂"以外的任何内容,并且客户端/高层可以选择性地行动,那么可以说是子类Runtime Exception合法的. 其他解决方案 创建不必明确捕获的异常时,您需要扩展RuntimeExc
18 2023-04-20
编程技术问答社区
拦截器抛出的异常不会进入异常处理程序。
我今天经历了一个问题.我有一个拦截器,开始并进行休眠交易,并且可能对COMMIT上的异常(例如org.hibernate.StaleObjectStateException).也就是说,它可能会抛出异常,但异常不会归于处理程序.我认为我的代码中存在问题.但是后来我写了一个简单的测试,这里是 struts.xml中的软件包定义:
14 2023-04-20
编程技术问答社区
如何在Visual Studio 2012 Express for Web中重新启用对未处理异常的破解?
我已经禁用了System.nullReferenceException在Visual Studio 2012 Express中的NullReferenceException在调试模式下发生异常时. 现在如何启用它?丢失了调试/异常菜单项. 我在注册表中搜索了system.nullReferenceException键,状态的值始终为16418-与其他例外相同. 解决方案 我相信(但现在无法立即验证)这些选项保存在解决方案的SUO(解决方案用户选项)文件中,该文件与解决方案(SLN)文件相同. 您可以尝试将文件移至其他目录,并查看您的异常是否返回.您将失去您考虑过的任何其他自定义(启动项目,断点,手表等) ) 或者您可以尝试创建扩展名并将此功能添加回Express: - )
24 2023-04-20
编程技术问答社区
如何在 Python 中捕获 rpy2.rinterface.RRuntimeError?
设置: Python 3.5.3 | Continuum Analytics,Inc.| (默认,2017年3月6日,12:15:08) Mac OSX 10.13.1 问题: 我已经下载了以下R脚本 rpy2.rinterface.rruntimeerror:集成中的错误(pintegrand,lower = 0,upper = inf,lambda,vbar,eta,检测到圆形误差 我该如何在Python中捕获此RuntimeError? 解决方案 RRuntimeError是从Exception派生的,因此您应该能够像其他任何例外一样捕获它. try: # your code except rpy2.rinterface.RRuntimeError: # handle exception 在rpy2 v3.0及以上,RRuntimeError似乎已移动到其他地方(请参见示例代码try: # your code exc
50 2023-04-20
编程技术问答社区
绕过错误和继续代码
这是我较早遇到的一个简单问题.本质上, shiss 和try: assert False print "hello" except AssertionError: pass 此代码将不是打印" Hello",而是跳过它,转到通行证.我的问题是,是否有一种简单的方法可以真正忽略Python 2.7中的这种方法?我在3.4中读到了一些事情,以使其更容易,但是我宁愿呆在Python 2.7中. 解决方案 我认为您不能,我认为您不应该. 错误永远不要静静地通过. 除非明确沉默. python的Zen 这意味着您作为程序员有责任思考在哪里以及为什么会出现例外.您应该(实际上必须)避免诱惑在try语句中放置一长串代码,然后考虑例外.正确的思想流是: 写assert False 请注意,它可能提出一个自信 put assert False在try...except...块中 写print 'Hello' 请注意,这条线不会引起任何错误(顺便说一句,著名的
30 2023-04-20
编程技术问答社区
当变量被初始化时,收到 "UnboundLocalError: local variable 'e' referenced before assignment"。
[社区编辑提供可重复的示例:] def main(): e = None print(locals()) while not e: try: raise Exception except Exception as e: pass main() 产生 ~/coding$ python3.3 quiz2.py {'e': None} Traceback (most recent call last): File "quiz2.py", line 11, in main() File "quiz2.py", line 5, in main while not e: UnboundLocalError: local variable 'e' referenced before assignment [编辑]
18 2023-04-20
编程技术问答社区
在Ruby中替代救援?
似乎我的代码中到处都有begin ... rescue ... end语句!这似乎不是正确的事情. 任何人都可以建议我如何捕获任何例外,而不必将所有内容放在begin ... rescue ... end内?有什么方法可以告诉Ruby闭嘴,即使提出了例外,也要继续前进? 解决方案 与其他语言一样,对于任何非平凡的程序,您实际上需要一个经过深思熟虑的体系结构来处理异常.一种方法是定义项目中的异常处理范围,然后您通常希望在范围边界捕获(救援)例外.有权衡.您在堆栈中越接近发生例外的地方,您就触发它的条件的上下文信息越多.如果您尝试过于细粒度,那么您会遇到所描述的问题.另一方面,如果仅在堆栈顶部捕获异常(在"主"中),则没有上下文.因此,定义异常处理范围涉及评估与您的特定程序或系统有关的权衡. Ruby使我们能够"重试" - 其他某些语言不可用.这应该很少使用!但是在有意义的地方(例如,等待网络或释放资源),需要在本地处理此类例外. 否则,我倾向于在大型项目上定义异常
20 2023-04-20
编程技术问答社区
为什么C++允许抛出任何东西?
我刚刚看到这个问题及其相关答案. 考虑到我以前从未遇到过这种使用throw的方式,我很惊讶地发现这是可能的. 允许(几乎)扔东西的背后的逻辑是什么? 是否可以使用超出异常/错误信号传导的掷出键入语法?如果是这样,那是不良的做法还是我从未意识到的"常见"用法? 解决方案 这很难没有猜测,但是比贾恩(Bjarne)的1998年论文编程语言" 在描述异常处理时使用任意类型,并建议创建上述类型的层次结构,以方便/语义.看来他在一开始就没有牢记exception的"基类". 拥有标准层次结构(基于std::exception)的概念开始是一种"补充",这是一种方便的方式,是一种方便的方式来处理Bjarne建议使用异常,而不是每个人都使用的建筑障碍物例外应为基础.这种当代的做法是从std::exception中得出所有例外,似乎以后出现了. 如今,我想不出一个很好的理由不这样做,如果出于其他原因,使用您的代码除了其他原因可能会期望顶级catch (const std::e
10 2023-04-20
编程技术问答社区
为什么你需要捕捉 "异常",而不捕捉子类 "RuntimeException"?
下图显示"检查"和"未选中"的例外是Exception的子类.我发现您需要捕获Exception,但您不需要捕获直接继承Exception的RuntimeException.有原因是开发人员没有让我们不需要捕捉它们而抛出异常? 更具体地说:为什么您只能忽略RuntimeExceptions,而是孩子?为什么没有介绍CheckedException extends Exception的课程,您只需要抓住它,它是孩子? 令人困惑的一部分是,您可以将所有内容都扔到RuntimeException下面而没有问题,但是当您在层次结构中移至Exception时,您需要在某个时候抓住它.这是令人困惑的,因为"抽象"通常会否则可行.您向上移动的越多,一切都越简单,更多.这里不是这种情况.您向上移动越多,您必须做的越多(例如,到达Exception之后,请尝试/捕获). 解决方案 如果未选中Exception,那么您可以隐式地施放对未检查的例外,这意味着您可以在不抓住它们的情况下丢下检
4 2023-04-20
编程技术问答社区