What is an exception?
Some exceptions are caused by user errors, some are caused by program errors, and others are caused by physical errors.
Exception handling keywords:
try, catch, finally, throw, throws
Notes:
1. Error is not an exception, but a breakaway A matter of programmer control.
2. All exception classes are subclasses inherited from the java.lang.Exception class.
3. The exception class has two main subclasses: IOException class and RuntimeException class.
4. Java has many built-in exception classes.
(Video tutorial recommendation:java video)
Grammar:
try{ //需要监听的代码块 } catch(异常类型 异常名称/e){ //对捕获到try监听到的出错的代码块进行处理 throw 异常名称/e; //thorw表示抛出异常 throw new 异常类型(“自定义”); } finally{ //finally块里的语句不管异常是否出现,都会被执行 } 修饰符 返回值 方法名 () throws 异常类型{ //throws只是用来声明异常,是否抛出由方法调用者决定 //代码块 }
Sample code: (try, catch and finally)
public class ExceptionTest { public static void main(String[] args) { Scanner input=new Scanner(System.in); try{ //监听代码块 int a=input.nextInt(); int b=input.nextInt(); double sum=a/b; System.out.println(sum); } catch(InputMismatchException e){ System.out.println("只能输入数字"); } catch(ArithmeticException e){ System.out.println("分母不能为0"); } catch(Exception e){ //Exception是所有异常的父类 System.out.println("发生了其他异常"); } finally{ //不管是否出现异常,finally一定会被执行 System.out.println("程序结束"); } } }
Sample code: (throw keyword)
import java.util.InputMismatchException; import java.util.Scanner; public class ExceptionTest { public static void main(String[] args) { Scanner input=new Scanner(System.in); try{ //监听代码块 int a=input.nextInt(); int b=input.nextInt(); double sum=a/b; System.out.println(sum); } catch(InputMismatchException e){ //catch(异常类型 异常名称) System.out.println("只能输入数字"); throw e; //抛出catch捕捉到的异常 //throw new InputMismatchException(); 同上 } catch(ArithmeticException e){ System.out.println("分母不能为0"); throw new ArithmeticException("分母为0抛出异常"); //抛出ArithmeticException异常 } catch(Exception e){ //Exception是所有异常的父类 System.out.println("发生了其他异常"); } finally{ //不管是否出现异常,finally一定会被执行 System.out.println("程序结束"); } } }
Sample code: (throws)
public class Throws { int a=1; int b=0; public void out() throws ArithmeticException{ //声明可能要抛出的异常,可以有多个异常,逗号隔开 try{ //监听代码块 int sum=a/b; System.out.println(sum); } catch(ArithmeticException e){ System.out.println("分母不能为0"); } finally{ //不管是否出现异常,finally一定会被执行 System.out.println("程序结束"); } } public static void main(String[] args){ Throws t=new Throws(); t.out(); //调用方法 throw new ArithmeticException("分母为0抛出异常"); //由调用的方法决定是否要抛出异常 /* * 第二种抛出方式 */ // ArithmeticException a=new ArithmeticException("分母为0抛出异常"); // throw a; } }
Recommended tutorial:java entry program
The above is the detailed content of What are the keywords of java exception handling. For more information, please follow other related articles on the PHP Chinese website!