任务描述
本关任务:接收两个整数(第一个为被除数,第二个为除数),实现以下需求: 1.求这两个数的商,并捕获除数为 0 的异常,捕获到该异常后输出提示语句:“除数不能为 0”; 2.不管是否捕获到异常,都输出给定两个数的和。
相关知识
finally语句
finally 语句必须与 try-catch 语句或者 try 语句一起使用,它的作用就是不管异常是否发生,只要对应的 try 执行了,则它一定也执行。因此 finally 语句通常用来做资源释放操作:关闭文件,关闭数据库连接等等。
语句格式:
try
{
// 程序代码
}catch(ExceptionName e1)
{
// 异常处理代码
}
finally{
// 程序代码
}
try 语句中存在异常代码示例:
public static void main(String[] args) {
// try语句中存在异常
try{
String s=null;
System.out.println( s.length());
}catch (Exception e){
System.out.println("空指针异常");
}finally {
System.out.println("总会执行的finally");
}
}
执行结果:
空指针异常
总会执行的finally
try 语句中不存在异常代码示例:
public static void main(String[] args) {
// try语句中不存在异常
try{
String s="finally";
System.out.println( s.length());
}catch (Exception e){
System.out.println("空指针异常");
}finally {
System.out.println("总会执行的finally");
}
}
执行结果:
7
总会执行的finally
import java.util.Scanner;
public class ExcTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:接收给定的整数
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int x;
// 第二步:求给定两个数的商,并捕获除数不为 0 的异常
try{
x = a / b;
System.out.println(x);
}catch (Exception e){
System.out.println("除数不能为0");
}
// 第三步:不管是否捕获到异常,都输出给定两个数的和
finally {
System.out.println(a + b);
}
/********** End **********/
}
}