Tag: try catch

尝试/多次捕获与单次捕获

在Eclipse中添加try / catch块时,它给了我“Surround with try / multi-catch”或“Surround with try / catch”的选项。 这是try / multi-catch: try { save.load(new FileInputStream(file.getAbsolutePath())); } catch (FileNotFoundException | IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 这是单个try / catch: try { save.load(new FileInputStream(file.getAbsolutePath())); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { […]

将try catch最终阻塞在另一个finally块中

try{ }catch(){} finally{ try{ }catch(){ } fianlly{ } } 拥有上面的代码是好的吗?

Java如何从try,catch和最后返回一个值?

因此,当我在“try {}”中执行块代码时,我尝试返回一个值,它会出现“无返回值”。 这是我使用的代码,代表我的问题。 import org.w3c.dom.ranges.RangeException; public class Pg257E5 { public static void main(String[]args) { try { System.out.println(add(args)); } catch(RangeException e) { e.printStackTrace(); } finally { System.out.println(“Thanks for using the program kiddo!”); } } public static double add(String[] values) // shows a commpile error here that I don’t have a return value { try { int […]

使用try / catch而不是多个IF语句更好吗?

在Java中使用try/catch块而不是使用多个If语句检查用户输入是否更好,更便宜或更易读? 解析Date字符串时的示例,使用try / catch块直接解析而不是编写查找非法字符的多个语句不是更好。 在另一个例子中,假设我想要读取文件或流,而不是使用Scanner ,我只是强制该方法并等待发生exception。 这是一种健康的编程方法吗? 它在虚拟机上更便宜吗? UPDATE 这是我在使用DateFormatexception时的意思的一个例子,有时候捕获错误可能是一个真正的问题,这样做,你能保证你的复杂(通常不可读)代码容易出错吗?

while循环中的try-catch方法?

我有这个代码,我想把try-catch放在while循环中。 逻辑是,“当存在输入错误时,程序将继续要求正确的输入”。 我该怎么做? 提前致谢。 public class Random1 { public static void main(String[] args) { int g; Scanner input = new Scanner(System.in); Random r = new Random(); int a = r.nextInt(10) + 1; try { System.out.print(“Enter your guess: “); g = input.nextInt(); if (g == a) { System.out.println(“**************”); System.out.println(“* YOU WON! *”); System.out.println(“**************”); System.out.println(“Thank you for […]

Java:输入/使用“try-catch”块的开销?

这个问题说明了一切。 虽然命中率不是很高(我测量它的速度在1.5x到2x之间),但是try-catch的字节代码与没有try-catch的字节代码之间没有区别。 那么是什么让它通常变慢? PL。 请注意,问题不在于抛出exception的开销,而在于进入/离开try块。 编辑:这是代码(在Hotspot 1.6.0_31服务器上运行) static void tryCatch() { int i = 0; long l1 = getTime(); for(int j = 0; j < 100000; j++) { try { i++; } catch(Exception e) { } } long l2 = getTime(); System.out.println("with try-catch: " + (l2 – l1) + ": " + i); } static […]

长期尝试声明

将大部分代码放在try statement是否有任何缺点。 如果我做了一些需要try statement事情,我通常最终会在try语句中为该函数做很多工作,因为我经常在那里声明我的变量,如果我这样做,就不能在那个范围之外使用它们。 这是常见的并被接受了吗? 人们通常在没有初始化之前声明变量,所以他们没有在try statement做所有事情(包括调用其他函数)吗? 或者它是否很长并不重要?

抛出UnsupportedOperationException

因此,方法描述之一如下: public BasicLinkedList addToFront(T data)此操作对排序列表无效。 将使用消息“排序列表的无效操作”生成UnsupportedOperationException。 我的代码是这样的: public BasicLinkedList addToFront(T data) { try { throw new UnsupportedOperationException(“Invalid operation for sorted list.”); } catch (java.lang.UnsupportedOperationException e) { System.out.println(“Invalid operation for sorted list.”); } return this; } 这是正确的做法吗? 我只是使用println()打印出消息,但是有不同的方法来生成消息吗?

捕获重复的键插入exception

我有一个表,其中包含一个名为id的唯一主键列。 有时,当我执行INSERT查询时,我收到错误,因为已经使用了id值。 我可以通过try和catch捕获这个特定的错误吗?

如何在Java 7中实现多捕获?

Java 7编译器如何处理多捕获块? 一个简单的实现是生成字节码,就好像存在多个catch块一样。 但是,我从多个来源收集到的情况并非如此 – 处理多个exception类型的catch块在编译期间不会产生重复的字节码。 那么它是怎样工作的 ? 是否有新的字节码指令告诉JVM多捕获块?