异常:在程序运行过程中可能发生的不正常的事件会中断正在运行的程序
快捷键:
代码自动对齐 ctrl +shift +f
try 执行可能产生异常的代码 catch 捕获异常 finally 无论是否发生异常,代码总能执行
throws 声明异常 声明方法可能要抛出 的各种异常
throw 手动抛出异常 e.printStackTrace(); 打印错误信息
package com.exception;
import java.util.InputMismatchException;
import java.util.Scanner;
public class yichang {
public static void main(String[] args) {
// TODO Auto-generated method stub
int result = 0;
try { // 执行可能产生异常的代码
Scanner input = new Scanner(System.in);
System.out.println("请输入被除数");
int a = input.nextInt();// 被除数
System.out.println("请输入除数");
int b = input.nextInt(); // 除数
result = a / b;
}
/*
* catch (Exception e) { //捕获所有异常 // TODO Auto-generated catch block
* e.printStackTrace();//打印错误信息 }
*/
catch (ArithmeticException e) { // 捕获算术异常
// TODO Auto-generated catch block
e.printStackTrace();// 打印错误信息
System.err.println("除数不能为零");// 输出自定义错误信息
} catch (InputMismatchException e) { // 捕获输入类型异常
// TODO Auto-generated catch block
e.printStackTrace();// 打印错误信息
System.err.println("输入格式不正确,请输入整型数据");
} finally {// 无论是否发生异常,代码总能执行
System.out.println("a/b的商为" + result);
// 重点,遇到异常的时候,如果不做处理程序会终止
// 处理一下,让程序能够执行下去
System.out.println("==========程序结束===========");
}
}
}
代码自动对齐 ctrl +shift +f
public class yichang {
public static void main(String[] args) {
// TODO Auto-generated method stub
try { // 异常谁处理?谁调用谁处理
use();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void use() throws Exception {//这个方法可能异常,不想处理,可以声明一下
int result = 0;
// try { // 执行可能产生异常的代码
Scanner input = new Scanner(System.in);
System.out.println("请输入被除数");
int a = input.nextInt();// 被除数
System.out.println("请输入除数");
int b = input.nextInt(); // 除数
result = a / b;
System.out.println("a/b的商为" + result);
System.out.println("==========程序结束===========");
}
}