生活中的异常
正常:每天上班开车30分钟到达公司
异常:路上堵车
package cn.jbit.exception;
import java.util.Scanner;
/**
* 演示程序中的异常。
* @author administrator
*/
public class Test1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入被除数:");
int num1 = in.nextInt();
System.out.print("请输入除数:");
int num2 = in.nextInt();
System.out.println(num1+"/"+ num2 +"="+ num1/ num2);
System.out.println("感谢使用本程序!");
}
}
package cn.jbit.exception;
import java.util.Scanner;
/**
* 传统处理程序中的异常。
* @author administrator
*/
public class Test2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入被除数:");
int num1 = in.nextInt();
System.out.print("请输入除数:");
int num2 = 0;
if (in.hasNextInt()) { // 如果输入的除数是整数
num2 = in.nextInt();
if (0 == num2) { // 如果输入的除数是0
System.err.println("输入的除数是0,程序退出。");
System.exit(1);
}
System.out.println(num1+"/"+ num2 +"="+ num1/ num2);
System.out.println("感谢使用本程序!");
} else { // 如果输入的除数不是整数
System.err.println("输入的除数不是整数,程序退出。");
System.exit(1);
}
}
}
弊端:代码臃肿,程序员要花很多精力去堵漏洞 ,程序员很难堵住所有漏洞
异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
生活中如何解决
堵车:绕行或者等待
撞车:寻求交警
生活中,根据不同的异常进行相应的处理,而不会就此中断我们的生活
Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws
捕获异常: try 执行可能产生 异常的代码、catch 捕获异常 、 finally 无论是否发生异常代码总能执行,
声明异常:throws 声明方法可能要抛出的各种异常
抛出异常:throw 手动抛出异常
按照控制台提示输入1~3之间任一个数字,程序将输出相应的课程名称
根据键盘输入进行判断。如果输入正确,输出对应课程名称。如果输入错误,给出错误提示
不管输入是否正确,均输出“欢迎提出建议!”语句
package cn.jbit.exception;
import java.util.Scanner;
/**
* 测试try-catch-finally的使用,根据编号输出课程名称
* @author administrator
*/
public class TestException1 {
public static void main(String[] args) {
System.out.print("请输入课程代号(1~3之间的数字):");
Scanner in = new Scanner(System.in);
try {
int courseCode = in.nextInt();
switch (courseCode) {
case 1:
System.out.println("C#编程");
break;
case 2:
System.out.println("Java编程");
break;
case 3:
System.out.println("SQL基础");
}
} catch (Exception ex) {
System.out.println("输入不为数字!");
ex.printStackTrace();
} finally {
System.out.println("欢迎提出建议!");
}
}
}
PS 以后会进行完善