JAVA冲刺复习之异常处理1

异常就是在程序的运行过程中发生的不正常的事件,它会中断正在运行的程序。
比如网络中断,数组下标越界,类型转换异常等等。
JAVA提供异常处理机制,它将异常处理代码和业务代码分离,使程序更优雅,更好的容错性,高健壮性。
JAVA的异常处理是通过5个关键字来实现的:try,catch,finally,throw,throws
try-catch执行情况
1.try块中代码没有异常,不执行catch块代码,执行catch块后边的代码
2.try块中代码出现异常,catch中异常类型匹配(相同或者父类)Java会生成相应的异常对象,Java系统寻找匹配的catch块,执行catch块代码,执行catch块后边的代码,try块中尚未执行的语句不会执行。
3.try块中代码出现异常,catch中异常类型不匹配。不执行catch块代码,不执行catch块后边的代码,程序会中断运行,也就是异常处理没用,程序照样异常。
catch块中如何处理异常,其中一种方式:自定义内容输出
代码实现:
当没出现异常时,也就是情况1
package Test04;

public class Test01 {
public static void main(String[] args) {
try{
//两个数相除
int num1=12;
int num2=3;
System.out.println("商为:"+num1/num2);
}catch(Exception ex){
System.out.println("程序出现了异常");
}
System.out.println("语句1");
System.out.println("语句2");
System.out.println("语句3");
}
}
System.out.println("000000000000000000000000000000000000000000000000000000000000000");
运行结果:
商为:4
语句1
语句2
语句3
System.out.println("000000000000000000000000000000000000000000000000000000000000000");
情况2:
package Test04;

public class Test01 {
public static void main(String[] args) {
try{
//两个数相除
int num1=12;
int num2=0;
System.out.println("商为:"+num1/num2);
}catch(Exception ex){
System.out.println("程序出现了异常");
}
System.out.println("语句1");
System.out.println("语句2");
System.out.println("语句3");
}
}
System.out.println("000000000000000000000000000000000000000000000000000000000000000");
运行结果:
程序出现了异常
语句1
语句2
语句3
System.out.println("000000000000000000000000000000000000000000000000000000000000000");
情况3:
package Test04;

import java.util.InputMismatchException;

public class Test01 {
public static void main(String[] args) {
try{
//两个数相除
int num1=12;
int num2=0;
System.out.println("商为:"+num1/num2);
}catch(InputMismatchException ex){
System.out.println("程序出现了异常");
}
System.out.println("语句1");
System.out.println("语句2");
System.out.println("语句3");
}
}
System.out.println("000000000000000000000000000000000000000000000000000000000000000");
运行结果:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Test04.Test01.main(Test01.java:11)
System.out.println("000000000000000000000000000000000000000000000000000000000000000");
package Test04;

import java.util.InputMismatchException;

public class Test01 {
public static void main(String[] args) {
try{
//两个数相除
int num1=12;
int num2=0;
System.out.println("商为:"+num1/num2);
}catch(InputMismatchException ex){
System.out.println("程序出现了异常");
}finally{
System.out.println("程序无论是否出现异常,这个逻辑都必须执行");
}
System.out.println("语句1");
System.out.println("语句2");
System.out.println("语句3");
}
}
System.out.println("000000000000000000000000000000000000000000000000000000000000000");
运行结果:
程序无论是否出现异常,这个逻辑都必须执行
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Test04.Test01.main(Test01.java:11)

posted @ 2025-06-18 11:49  骆驼刺破仙人掌007  阅读(21)  评论(0)    收藏  举报