您的位置:

javatry,java try catch finally执行顺序

本文目录一览:

java中try 与catch的使用?

try{

//代码区

}catch(Exception e){

//异常处理

}

try语句: 

try语句用大括号{}指定了一段代码,该段代码可能会抛弃一个或多个例外。

catch语句:

catch语句的参数类似于方法的声明,包括一个例外类型和一个例外对象。例外类型必须为Throwable类的子类,它指明了catch语句所处理的例外类型,例外对象则由运行时系统在try所指定的代码块中生成并被捕获,大括号中包含对象的处理,其中可以调用对象的方法。

catch语句可以有多个,分别处理不同类的例外。Java运行时系统从上到下分别对每个catch语句处理的例外类型进行检测,直到找到类型相匹配的catch语句为止。这里,类型匹配指catch所处理的例外类型与生成的例外对象的类型完全一致或者是它的父类,因此,catch语句的排列顺序应该是从特殊到一般。

也可以用一个catch语句处理多个例外类型,这时它的例外类型参数应该是这多个例外类型的父类,程序设计中要根据具体的情况来选择catch语句的例外处理类型。

java try() 用法

创建两个变量: boolean hasError = false; String errorMessage = ""; 然后检测的代码放进3个try-catch: try { Integer.parseInt(textField1.getText()); } catch (NumberFormatException ex) { hasError = true; errorMessage += "invalid input in 1 field\n"; } try { Integer.parseInt(textField2.getText()); } catch (NumberFormatException ex) { hasError = true; errorMessage += "invalid input in 2 field\n"; } try { Integer.parseInt(textField3.getText()); } catch (NumberFormatException ex) { hasError = true; errorMessage += "invalid input in 3 field\n"; } 最后检测如果hasError == true,那么errorMessage里肯定有东西。

java里try是干什么的?

“try-catch-finally语句块”用来捕获并处理异常。

你可能会想,如果你写程序的时候有意的去避免异常,那么“try-catch-finally语句块”不就没什么用了吗?可是,你的程序不是给你自己使用的吧?如果你要求用户输入1个数字,而且你的程序也明确提示了用户需要输入的是数字,但用户就是输入了“英文字母”,那么,你的程序没有“try-catch-finally语句块”一定会直接崩溃的。而如果用了“try-catch-finally语句块”,并将这个异常处理为“再次提醒用户需要输入的是数字,并再次允许用户重新输入”,那你的程序就不会半途挂掉。

【示例】

//用"try-catch"强制用户必须输入一个数字!

import java.util.Scanner;

public class Test2 {

  public static void main(String args[]) {

    double d = 0;

    boolean badInput = true;

    Scanner input;

    while(badInput) {

      System.out.println("请输入1个数字:");

      input = new Scanner(System.in);

      try {

        d=input.nextDouble();

      } catch(Exception e) {

        System.out.println("您输入的不是数字!");

        continue;

      }

      badInput = false;

    }

    System.out.println("您输入的是:" + d);

  }

}