草庐IT

MyException

全部标签

Ruby 挽救除 MyException 之外的所有异常

在Ruby中,是否可以拯救除指定异常之外的所有异常? 最佳答案 beginrescueMyExceptionraise#toreraisethesameexceptionwithoutchangingitrescueException=>e#dosomethingwitheend 关于Ruby挽救除MyException之外的所有异常,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

Java API 中断

我有以下API:publicinterfaceMyApi{/***Performssomestuff.*@throwsMyExceptionifconditionC1*/publicvoidmethod()throwsMyException;}我现在在我的API实现中执行以下修改publicclassMyApiImpl{publicvoidmethod()throwsMyException{if(C1){thrownewMyException("c1message");}...}}被替换为:publicclassMyApiImpl{publicvoidmethod()throwsMyE

java - 异常处理回滚 Action 是否在异常发生前完成?

假设我有一个这样的方法voidmyMethod(MyThingt)throwsMyException{t.foo="bar";if(t.condition()){thrownewMyException();}}如果异常被触发,t.foo的值是否恢复到之前的值?还是保持“bar”值? 最佳答案 MyThing对象上的foo属性的值不会因任何异常而恢复。在您的示例中,没有tryblock,但如果有的话,您可以在相应的catchblock中执行您自己类型的值回滚。try{t.foo="bar";doSomethingRiskyWhichM

java - 如何避免自定义 Java 异常类中的重复

我喜欢创建Exception类,其名称表明应用程序特定的问题被注意到和抛出。要定义它们,通常会定义一个新的类,其父类(superclass)是某种Exception类型。由于Exception父类有多个公共(public)构造函数,一般子类看起来是这样的:packagecom.example.exception;/***MyExceptionisthrownwhensomeapplication-levelexpectationisnotmet.*/publicclassMyExceptionextendsException{publicMyException(){super();}p

java - 如何避免 finally block 中的 throw 子句

我使用SonarQube来提高代码质量。我遇到了一个与异常处理相关的问题,它说从finallyblock中删除throw子句。}catch(Exceptione){thrownewMyException("requestfailed:",e);}finally{try{httpClient.close();}catch(IOExceptione){thrownewMyException("failedtocloseserverconn:",e);}}根据我的理解,上面的代码看起来不错。如果我在finally中删除throw子句并抑制异常,则此方法的调用者将无法知道服务器的状态。我不确定

java - 为什么 JUnit 测试异常总是失败?

这个问题在这里已经有了答案:HowdoyouassertthatacertainexceptionisthrowninJUnittests?(34个答案)关闭7年前。我正在使用JUnit4.11。Eclipse版本:Luna服务版本2(4.4.2)我需要做异常测试。代码可能是这样的://srccodepublicvoidmyMethodthrowsMyException{...thrownewMyException(msg);...}//testcode@Test(expected=MyException.class)publicvoidtestMyMethod(){try{myMet

java - 为什么要扩展 Exception 类?

我遇到了一个扩展异常的类:publicclassMyExceptionextendsException{publicMyException(){super();}publicMyException(finalStringargMessage,finalThrowableargCause){super(argMessage,argCause);}publicMyException(finalStringargMessage){super(argMessage);}publicMyException(finalThrowableargCause){super(argCause);}}以这种

java - 在 Java 中,为什么 Exception 类需要在类加载器需要之前可用?

我正在开发一个动态加载JAR的应用程序,其中包含它使用的一堆类的定义。一切顺利,直到我trycatch动态加载的JAR中的异常派生类。以下片段显示了问题(DynamicJarLoader是实际加载JAR的类;TestClass和MyException都在外部JAR中):publicstaticvoidmain(String[]args){DynamicJarLoader.loadFile("../DynamicTestJar.jar");try{Stringfoo=newTestClass().testMethod("42");}catch(MyExceptione){}}当我尝试运行

c++ - 在 C++ 中捕获 Python 异常

我正在开发一个服务器-客户端应用程序,其中客户端调用服务器的API,为用户输入提供Python接口(interface)。这意味着客户端接口(interface)和服务器接口(interface)是用Python编写的,而套接字代码是用C++编写的。在服务器端:-我有一个类,Test,在C++中,这个类在Python中继承,名为TestPython,使用SWIG的导向器功能.我还有一个C++中的异常类MyException。现在TestPython类的一个函数从Python代码中抛出MyException()。我想使用SWIG在C++代码中处理从Python抛出的异常。下面是代码片段:

c++ - 制作可变参数异常构造函数以填充字符串流

基本上我正在制作异常类,我希望能够轻松传递调试细节,例如:varerror=someFunction();if(error!=0){throwMyException("someFunctionendedwitherrorstate#",error,'.');}这需要MyException类接受可由stringstream处理的可变参数。我不知道我到底该怎么做,我想是这样的:#include#includetemplate/*MUCHDEEPMAGICHERE**/MyException::MyException(/*MOARDEEPMAGIC!!!**/){std::stringstr