Tag: exception

如果捕获空指针exception不是一个好习惯,捕获exception是一个好的吗?

我听说捕获NullPointerException是一种不好的做法,我认为这是明智的。 让NullPointerException传播到顶部将允许检测出错的东西。 但很多时候我看到很多朋友直接捕获Exception ,因此他们不必担心上面代码中可能出现的所有不同类型的exception。 这是一个好习惯吗? 什么是最好的未处理的其他类型的例外? 除此之外,我还可以在特定代码上处理NullPointerException ,我们确定exception的来源。 那么何时处理exception以及什么时候不应该处理它们? 什么是可能的最好的例外列表,最好不做处理?

Eclipse中exception的断点 – 如何检查Exception对象?

我觉得我在这里错过了很简单的东西。 我设置了Eclipse来打破所有exception。 所以,假设它在AssertationFailedException上中断。 Debug窗口将显示该线程已挂起并具有以下数据: Thread [Thread-1](Suspended(exceptionAssertionFailedException))ContactManager.addContact(String)行:93 ContactManager $ ContactDataCallback.dispatch(String,Element,ClientConnector)行:118 PacketHandler.handle(FractusPacket)行:173 ServerConnection.syncProcess( FractusMessage)行:122 ServerConnection.run()行:248 Thread.run()行:636 但是,我正在寻找的文本,例如:“Getter在可观察的org.eclipse.core.databinding.observable.set.WritableSet@4b7361e2外部调用”,直到我逐步执行exception(因此传播)才可用它一直向上堆栈)它输出exception的类型,文本(这是我想要的部分)和堆栈跟踪。 如何检查“AssertationFailedException”(或任何其他exception)以获取构造exception的消息? 当然我在Debug透视图中。

Android + MySQL使用com.mysql.jdbc.Driver

我正在编写一个将连接到MySQL服务器的Android应用程序。 现在,我正在使用http:// localhost:3306 /通过XAMPP在我的计算机上测试MySQL服务器。 以下代码在严格测试JAVA应用程序时工作正常。 import java.sql.*; public class MySQL{ public static void main(String[] args) { System.out.println(“MySQL Connect Example.”); Connection conn = null; String url = “jdbc:mysql://localhost:3306/”; String dbName = “database”; String driver = “com.mysql.jdbc.Driver”; String userName = “root”; String password = “”; try { Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url+dbName,userName,password); System.out.println(“Connected to the database”); conn.close(); System.out.println(“Disconnected […]

Eclipse中的控制台打印顺序

我在Eclipse中输入了一个简单的算术程序。 在Eclipse中运行程序时,每次运行时输出都会以奇怪的顺序出现。 有时,exception出现在最后的print语句中(这是正确的方法)。 有时它会在混乱的顺序中反过来。 为什么会发生这种情况以及如何纠正它? 是否有任何设置可以在每次执行时以正确的方式打印。 以下屏幕截图显示了它的显示方式。 请帮我纠正这个问题。 正确的顺序: 我们运行几次后错误的订单 package com; public class Abc { /** * @param args */ public static void main(String[] args) { System.out.println(“begin main”); // TODO Auto-generated method stub int a = 10; int b = 0; int c = 0; System.out.println(“value of a BD is ” + a); System.out.println(“value […]

关闭扫描程序会抛出java.util.NoSuchElementException

我正在用Java编写一个RPG战斗系统,雄心勃勃吧? 好吧,我遇到了一些麻烦。 这是我的代码: void turnChoice() { System.out.println(“What will you do? Say (Fight) (Run) (Use Item)”); Scanner turnChoice = new Scanner(System.in); switch (turnChoice.nextLine()) { case (“Fight”): Combat fighting = new Combat(); fighting.fight(); default: } turnChoice.close(); } 当它到达代码中的那一点我得到: 你会怎么做? 说(战斗)(跑步)(使用物品) 线程“main”中的exceptionjava.util.NoSuchElementException:找不到行 在java.util.Scanner.nextLine(未知来源) 在Combat.turnChoice(Combat.java:23) 这个类叫做Combat,我只是想让它给出一个打击或运行或使用物品的选项,我首先尝试的是战斗方法。 请帮助,我是Java的新手,所以如果可能的话,不要让事情太复杂。

Java ArrayIndexOutOfBoundsexception

也许我一直在看这个问题太长时间,因为我找不到问题,但它应该是简单的事情。 我在行上收到一个ArrayIndexOutOfBoundsexception: nextWord = MyArray[i + 1].toLowerCase(); 谁能明白为什么? String currentWord = “”; String nextWord = “”; for (int i = 0; i 0 && i < MyArray.length) { currentWord = MyArray[i].toLowerCase(); nextWord = MyArray[i + 1].toLowerCase(); /* EXCEPTION */ System.out.println("CURRENT WORD: " + currentWord); System.out.println("NEXT WORD: " + nextWord); } } 谢谢!

如何在Java中避免ResultSet被关闭的exception?

只要我的代码到达我的while(rs.next())循环,它就会生成ResultSet已关闭的exception。 导致此exception的原因是什么?如何更正? 编辑:我在我的代码中注意到我在嵌套while(rs.next())与另一个(rs2.next())循环,两个结果集来自同一个数据库,这是一个问题吗?

org.openqa.selenium.UnhandledAlertException:意外警报打开

我正在使用Chrome驱动程序并尝试测试网页。 通常它运行正常,但有一段时间我得到例外 – org.openqa.selenium.UnhandledAlertException: unexpected alert open (Session info: chrome=38.0.2125.111) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 x86) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 16 milliseconds: null Build info: version: ‘2.42.2’, revision: ‘6a6995d’, time: ‘2014-06-03 17:42:30’ System info: host: ‘Casper-PC’, ip: ‘10.0.0.4’, os.name: ‘Windows 7’, os.arch: ‘x86’, os.version: ‘6.1’, java.version: […]

如何在JSP页面中打印错误堆栈跟踪?

我在web.xml中设置了这样的错误页面: java.lang.Exception /errors/error.jsp 现在我想在JSP上打印堆栈跟踪错误(当然只在开发模式下)。 如何在JSP页面上打印堆栈错误? 我没有为此应用程序使用任何框架,因此只有默认的servlet API可用于我的程序。

处理加密exception

在Java中处理加密\解密时,这个非常基本的代码段很常见。 final Cipher cipher = Cipher.getInstance(“AES/CBC/NoPadding”); cipher.init(Cipher.ENCRYPT_MODE, key, iv); cipher.doFinal(*something*); 仅这三行,可能会抛出六个exception,我不确定处理它们的最干净(在代码可读性方面)是什么。 尝试六个catch子句对我来说真的很像。 在使用这些物体时,是否有微图案或最佳实践,我显然是缺失的? 编辑 对不起,我想我没有很好地解释自己。 我的问题不是关于避免try \ catch子句,而是如果有一种常见的方法来处理类似的情况。 例外情况是 NoSuchPaddingException, NoSuchAlgorithmException InvalidAlgorithmParameterException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException