【Java中的try-catch异常处理机制】教程文章相关的互联网学习教程文章

java-如果线程在wait()上被中断,在到达同步块之外的catch块之前会重新获取监视器吗?【代码】

请考虑以下代码:try{synchronized(myLock){myLock.wait(); // gets interrupted while waiting.} }catch(InterruptedException ie){}如果线程在wait()上被阻塞时被中断,那么在挂接到catch块之前是否会重新获取myLock的监视器(临时?)?解决方法:如javadoc州If the current thread is interrupted by any thread before or while itis waiting, then an InterruptedException is thrown. This exception isnot thrown until the lo...

java-为什么参数在单个处理程序catch语句中为final【代码】

如果单个处理程序catch语句处理多个异常,为什么参数隐式为final?catch (IOException|SQLException ex) {logger.log(ex);throw ex; }在此代码中ex是最终的.为什么会这样呢?解决方法:否则,您可能会想编写类似ex = new IOException();之类的东西,但是由于类型实际上不是IOException或SQLException,因此它将以一种奇怪的方式破坏类型安全性.

java-Findbugs contrib:方法从没有历史记录的catch块中抛出替代异常【代码】

fb-contrib抱怨Method throws alternative exception from catch block without history在我的try / catch块之一中. 如何解决?是否有解决此问题的详细说明?解决方法:捕获了原始异常,您的代码引发了另一个异常,而没有在java.lang.Throwable原因中包含原始异常 发现了一些here:This method catches an exception, and throws a different exception, without incorporating theoriginal exception. Doing so hides the original s...

Java DateTime,ParseException的Unreachable catch块【代码】

这是将日期对象解析为特定模式的方法.但是它给catch块带来了错误,说它无法到达,我可以删除catch块或直接抛出异常.我想要catch块的原因是在发生任何错误时都具有可见性.public static Date parseDate(Date a, String someFormat) {Date parsedDate = null;DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern(someFormat);try {Instant instant = a.toInstant();LocalDate localDate =LocalDate.parse(dateFormat.format(i...

Java try-catch自定义捕捉异常【代码】

题目要求:输入数值,90-100输出“优”,80-90输出“良”,70-80输出“中”,60-70输出“及格”,0-60输出“不及格”,输入其他捕捉异常并提示相应信息。代码如下: 1 import java.util.Scanner;2 3 @SuppressWarnings("serial")4 //自定义异常类5 class TryException extends Exception6 {7 /**8 * 9 */ 10 private static final long serialVersionUID = 1L; 11 public TryException(String Message) { 12...

java-在@Transactional内的try-catch中提交更改【代码】

考虑一下我有一个方法以ActiveRecord模式样式执行一些工作和日志记录机制:@Transactional public void doSmt() {try {someOperation(); // can throw exceptionLogger.logIntoDb(); // if everything is OK} catch {Exception e} {Logger.logIntoDbWithException(e.getMessage()); // log error into dbthrow new MyCustomException(e);} }public static void logIntoDbWithException(String message) {final LogEntry logEntry =...

java-While循环不适用于Try / Catch语句【代码】

我试图让用户有机会在引入会产生错误但又无法正常工作的东西之后重复输入,因为一旦发现错误,就不会再次执行try东西,而是直接进入catch东西,生成一个永恒的东西. cicle.这是我的代码:while (err==1){err=0;try{dim = keyboard.nextInt();} catch(Exception e){System.out.println("Oops! What you entered is not an integer.");err=1;} }解决方法:当您输入非整数时,对nextInt()的Scanner调用不会使用非整数.您需要调用keyboard.ne...

java – 为什么不使用Catch或者最后编写Try-With-Resources?【代码】

为什么在没有Catch或Finally的情况下编写Try,如下例所示?protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {/* TODO output your page here. You may use following sample code. */out.println("<!DOCTYPE html>");out.println("<html>");out...

java – 休息只会留下try / catch或周围的循环吗?【代码】

如果我在while循环中有一个try … catch块,并且在catch中有一个中断,程序执行是否会离开循环? 如:while (!finished) {try {doStuff();} catch (Exception e) {break;} }doStuff()中抛出的异常会退出循环吗?解决方法:是的,它会的.最简单的方法是尝试一下.public static void main(String[] args) {int i=0;while (i<10) {System.out.println(i);try {if(i ==7){throw new Exception();}i++;} catch (Exception e) {break;}}Syste...

Java异常 – 在没有try catch的情况下处理异常【代码】

在Java中,我们使用try catch块处理异常.我知道我可以编写一个类似下面的try catch块来捕获方法中抛出的任何异常.try {// do something } catch (Throwable t) {}但是Java中是否有任何方法允许我在异常发生时获取一个特定的方法,而不是像上面那样编写一个catch-all方法? 具体来说,我想在抛出异常时(在我的应用程序逻辑中没有处理)在我的Swing应用程序中显示用户友好的消息. 谢谢.解决方法:默认情况下,JVM通过将堆栈跟踪打印到Syste...

java – 使用try-catch和while循环错误捕获【代码】

参见英文答案 > How to handle infinite loop caused by invalid input (InputMismatchException) using Scanner 5个我正在尝试确保用户输入是一个整数,但是当我使用下面的代码时,我只是获得了print语句的无限循环.有关如何改进的任何建议?boolean valid = false; System.out.println("What block are you gathering? (use minecraft block ids)"); while(valid == false){try{block = input....

java – 在“while循环”中使用“try and catch”块时的无限循环【代码】

当我在while循环中使用try和catch块时,我的程序有一个无限循环.import java.util.*; class Try {public static void main(String args[]){Scanner sc=new Scanner(System.in);while(true){try {System.out.println("Enter a no ");int s=sc.nextInt();} catch(Exception e) {System.out.println("Invalid input try again");}}} }当我输入一个整数时,它运行正常并要求另一个输入,但是当我输入一个char时,它会进行无限循环.为什么会...

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) /...

Stata是否有类似于Java的“try and catch”机制?【代码】

我正在写一个.do来检查一些.dta文件中是否存在某些变量,以及检查这些变量是否存在某些值.但是,我的代码在遇到无效的变量名时停止执行. 我知道我混合Java和Stata编码,这是完全不合适的,但有什么方法我可以做类似的事情:try { su var1 local var1_mean=(mean)var1 local var1_min=(min)var1 local var1_max=(max)var1 ... } catch (NoSuchVariableException e) { System.out.println("Var1 does not exist") } // So that the code ...

为什么catch块会在Java中初始化变量时出错【代码】

这是我写的代码.int num; try {num=100;DoSomething();System.out.println(num); } catch(Exception e) {DoSomething1(); } finally{DoSomething2(); } System.out.println(num); // Error Line我在我提到的错误行上收到错误’本地变量num可能尚未初始化’.在移除catch块时,错误消失.这有什么不对?我做错了吗?解决方法:如果你的try块中抛出异常,那么变量num可能确实没有被初始化.如果包含catch块,则执行可以继续执行错误行,因此编...