猿教程 Logo

Java try-catch

Java try块

Java try块用于包含可能抛出异常的代码。 它必须在方法中使用。

Java try块必须后跟catch或finally块。

java try-catch的语法

相关实例:

try{
//可能抛出异常的代码
}catch(Exception_class_Name ref){}

try-finally块的语法

相关实例:

try{
//code that may throw exception
}finally{}

Java catch块

Java catch块用于处理异常。 它必须在try块之后使用。

您可以使用单一尝试多个catch块。


无异常处理的问题

让我们试着理解问题,如果我们不使用try-catch块。

相关实例:

public class Testtrycatch1{
  public static void main(String args[]){
      int data=50/0;//may throw exception
      System.out.println("rest of the code...");
}
}

输出:

Exception in thread main java.lang.ArithmeticException:/ by zero

如上面的例子所示,其余的代码不执行(在这种情况下,其余的代码...语句不打印)。

异常后可以有100行代码。 所以所有的代码在异常后不会被执行。


异常处理的解决方案

让我们看看上面的问题的解决方案通过java try-catch块。

相关实例:

public class Testtrycatch2{
  public static void main(String args[]){
   try{
      int data=50/0;
   }catch(ArithmeticException e){System.out.println(e);}
   System.out.println("rest of the code...");
}
}

输出:

Exception in thread main java.lang.ArithmeticException:/ by zero
rest of the code...

现在,如上面的例子所示,剩下的代码被执行,即rest of the code...语句被打印。


java try-catch块的内部工作


JVM首先检查异常是否被处理。 如果未处理异常,JVM将提供一个默认异常处理程序,执行以下任务:

  • 打印异常说明。

  • 打印堆栈跟踪(发生异常的方法的层次结构)。

  • 使程序终止。

但是如果异常由应用程序员处理,则保持应用程序的正常流程,即执行代码的剩余部分。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/try-catch-block.html