草庐IT

Try-finally

全部标签

整个类的 PHP Try Catch

简单的问题,但似乎找不到答案。如果我有一个php类,是否可以为整个类注册一个异常处理程序?我想这样做的原因是我的类使用的对象是我的领域模型的一部分。这些对象的方法抛出非常明确的异常。我不希望这些异常冒泡到更高级别的类,而是想捕获所有这些异常并将它们作为更一般的异常抛出,例如域层异常因此,我希望我的类(class)中有一个区域可以捕获我从我的域模型中定义的任意数量的异常列表,并将它们作为更一般的异常抛出,例如目前我这样做的方法是将对域对象的方法调用包装在trycatchblock中。随着我使用越来越多的域对象及其方法,这变得非常困惑。删除这些trycatchblock并在类中的一个位置处

php - 从 try/catch block 中断

这在PHP中可行吗?try{$obj=newClas();if($obj->foo){//howtoexitfromthistryblock?}//dootherstuffhere}catch(Exception$e){}我知道我可以将其他内容放在{}之间,但这会增加更大代码块上的缩进,我不喜欢它:P 最佳答案 用goto当然!try{$obj=newClas();if($obj->foo){gotobreak_free_of_try;}//dootherstuffhere}catch(Exception$e){}break_fre

循环内的 PHP try-catch block

这个问题在这里已经有了答案:Performanceoftry-catchinphp(9个回答)关闭7年前。如果打算在发生异常时循环结束,那么将try-catchblock放在循环内而不是在php中用try-catch包装循环效率较低吗?还是本质上没有区别?编辑:即,foreach(/*...*/){//...try{//...}catch(/*...*/){break;}//...}对比:try{foreach(/*...*/){//...}}

java - 为什么标记为 final 的对象可以在 Java 中被修改并调用非 final 方法?

我是Java新手,有C++背景。我认为Java中的final就像C++中的const一样,但我猜不是。对象在C++中初始化为const,只能调用const方法,不能改变对象中的字段。但是在我下面的代码中,我可以在pet中赋值。即pet.id=newObjectId(newPetId);。privatevoidaddPet(){progressBar.setVisibility(View.VISIBLE);finalPetpet;try{//Locallyaddandsavepet.pet=getPetFromUserInput();}catch(InvalidInputExceptio

android - ActivityInstrumentationTestCase2和static final : fields become null after first test的使用

这看起来真的像是发生了一些魔法,我很想知道为什么会这样:)这是我的单元测试:publicclassSelectThemeActivityTestextendsActivityInstrumentationTestCase2{privatefinalstaticint[]STATIC_ARRAY={0,1,2};publicSelectThemeActivityTest(){super("com.the7art.simplewallpaper",SelectThemeActivity.class);}@OverrideprotectedvoidsetUp()throwsException

java - .catchall 是否用于指示 Dalvik 字节码的 smali 中的 finally 子句?

我注意到当java代码中有finally子句时,总是会生成.catchall来识别finallyblock或使用.catchall标签内联它,但我没有找到任何关于是否是这种情况或更多解释的在线信息,有人知道吗? 最佳答案 是的,finallyblock是可能生成.catchall的一种情况。但是,它也可以用于其他用途。例如,也可以在同步方法的情况下生成,以确保释放锁。捕获所有处理程序记录在dex-format中规范。具体来说,在code_item中包含的encoded_catch_handler项中。还相关的是classfilesp

java - 如何通过名称获取 "public static final int"值?

我创建了一个类来扩展KeyEvent:publicclassmyKeyEventextendsKeyEvent{publicstaticfinalintMY_KEYCODE_01=KeyEvent.KEYCODE_A;//...publicstaticfinalintMY_KEYCODE_30=KeyEvent.KEYCODE_Z;}现在,我想通过变量名(例如“MY_KEYCODE_01”应该返回整数值KeyEvent.KeyCODE_A)从另一个类(另一个文件)获取整数值。我尝试过:try{Classcls=myKeyEvent.class.getClass();Fieldfield

java - eclipse Java : Define final variable based on build configuration

我想要一个final变量,当我运行我的项目的Debug版本时它是true,当我运行它时它是false运行版本。我知道我可以通过构建配置来做到这一点,但不知道如何在Eclipse中进行设置。StackExchange上似乎没有任何关于专门定义变量的教程或问题。我在EclipseClassic4.2中编译Java,使用ADT插件创建一个Android应用。编辑:根据@Xavi,我设置了以下内容:try{Stringline=null;java.lang.Processp=Runtime.getRuntime().exec("getpropdebugging");BufferedReader

java - 我们可以不使用 final 关键字来避免继承吗?

我只想知道我可以有2个类A和B。我不想让B类扩展A类。我应该在A类中应用什么技术,这样B类就不能继承A类。不想让A类最终。除了将A类定为final之外,还有其他解决方案吗? 最佳答案 事实上,我尝试遵循的做法以及JoshBloch在他的EffectiveJava一书中推荐的做法与您被告知的规则正好相反:除非您考虑过继承,否则请设计您的类要被继承,并记录你的类必须如何被继承,你应该始终禁用继承。我建议您阅读EffectiveJava的这一章(您不会后悔购买它),并将其展示给告诉您这条规则的人。禁止继承的最明显原因是不变性。不可变对象(

android - Toast 在 try/catch Thread.sleep() 之前不会显示

当我尝试show();我的Toasts时遇到了一个奇怪的问题。您将在下面看到两个由try/catch和Thread.sleep();分隔的Toast,在这种情况下,第二个Toast,toast2将显示,但toast1不会。如果我删除try/catch两个Toast将毫无问题地显示。我在SO的其他地方看到toast.show();在UI线程上发出请求,这可能会与其他操作发生冲突。我想知道这是否与我在Thread.sleep();中遇到的问题相同我该如何解决这个问题?谢谢TestService.java///Debug-ShowaToast//ToastdoesNOTshowupToast