Tag: error handling

哪个更好/更有效:检查错误值或捕获Java中的exception

哪个在Java中效率更高:检查错误值以防止exception或让exception发生并捕获它们? 以下是两个示例代码块,用于说明这种差异: void doSomething(type value1) { ResultType result = genericError; if (value1 == badvalue || value1 == badvalue2 || …) { result = specificError; } else { DoSomeActionThatFailsIfValue1IsBad(value1); // … result = success; } callback(result); } 与 void doSomething(type value1) { ResultType result = genericError; try { DoSomeActionThatFailsIfValue1IsBad(value1); // … result = success; } catch […]

我可以在不同的操作类之间传播struts2 ActionErrors吗?

如果我有一个动作,其结果是redirectAction到另一个类中的另一个动作,是否有可能在结果动作中显示validation错误? 例如,在下面的示例中,如果用户执行actionA(没有与之关联的视图),并且存在错误,是否有任何方法可以在actionB结果(foo.jsp)中显示这些错误? 或者我是以完全错误的方式解决这个问题? actionB /b actionB /b /foo.jsp

从lambda抛出exception

鉴于此java 8代码 public Server send(String message) { sessions.parallelStream() .map(Session::getBasicRemote) .forEach(basic -> { try { basic.sendText(message); } catch (IOException e) { e.printStackTrace(); } }); return this; } 我们如何正确地将这个IOException委托给方法调用的堆栈? (简而言之,如何使此方法抛出此IOException ?) java中的Lambdas对error handling看起来不太友好……

什么时候使用错误代码?

在支持exception对象(Java,C#)的语言中,何时使用错误代码是合适的? 在典型的企业应用程序中,错误代码的使用是否合适? 许多众所周知的软件系统使用错误代码(以及相应的错误代码引用)。 一些示例包括操作系统(Windows),数据库(Oracle,DB2)和中间件产品(WebLogic,WebSphere)。 错误代码提供哪些好处? 使用错误代码有什么缺点?

捕获Java错误

我听说抓java.lang.Error被认为是不好的做法。 我目前正在加载一个不保证在PATH上的.dll,并希望切换到用户配置的位置,如果不是。 try { System.loadLibrary(“HelloWorld”); } catch(UnsatisfiedLinkError ule){ System.load(“C:/libraries/HelloWorld.dll”); } 有更好的方法吗? 或者在这里捕获UnsatisfiedLinkError可以接受?

在Java中,是否保证要调用“finally”块(在main方法中)?

我是Java新手,我想知道,如果我有以下典型的Java代码 public class MyApp { public static void main(String[] args) { try { // do stuff } catch { // handle errors } finally { // clean up connections etc. } } } JVM是否保证finally块始终运行? 要了解我的来源,我习惯于C / C ++程序,如果取消引用NULL指针,可能会崩溃,之后就无法运行任何代码。 但是由于我理解Java和整个GC /托管内存业务,所以没有空指针解除引用,所有东西都是可捕获的预期,所以我的程序没有真正的崩溃方式可以让它跳过最后,还是在那里? 例如,在Python中,我通常会这样做 try: # do stuff except AnExceptionIKnewMightHappen: # react in an appropriate way except: # […]

如何在Swift中向堆栈跟踪传递错误

在java中,如果一个方法抛出错误,则调用它的方法可以将其传递给下一个方法。 public void foo() throws Exception { throw new Exception(); } public void bar() throws Exception { foo(); } public static void main(String args[]) { try { bar(); } catch(Exception e) { System.out.println(“Error”); } } 我正在写一个快速的应用程序,并希望做同样的事情。 这可能吗? 如果不可能有什么其他可能的解决方案? 我调用此调用的原始函数具有此结构。 func convert(name: String) throws -> String { }

android.content.res.Resources $ NotFoundException

@Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.screenlocked); //Retrieve stored ID final String STORAGE = “Storage”; SharedPreferences unique = getSharedPreferences(STORAGE, 0); LoginID = unique.getString(“identifier”, “”); //Retrieve stored phone number final String phoneNumber = unique.getString(“PhoneNumber”, “”); phoneView = (TextView) findViewById(R.id.phone); phoneView.setText(phoneNumber.toString()); //Retrieve user input input = (EditText) findViewById(R.id.editText1); userInput = input.getText().toString(); //Set login button login = (Button) […]