异常处理
- 编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:
在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用户输入;
在catch语句块中,捕获被0除所产生的异常,并输出异常信息; 在finally语句块中,输出一条语句。 -
package ert; import java.util.Scanner; public class ExceptionTest { public static void main (String []args) { int q,w,e; System.out.println("请输入除数"); Scanner chushu = new Scanner(System.in); int w1=chushu.nextInt(); System.out.println("请输入被除数"); Scanner beichushu= new Scanner(System.in); int e1=beichushu.nextInt(); try { q=w1/e1; System.out.println("结果为"+q); }catch(ArithmeticException e2){ getMessage(); System.out.println(e2.getMessage()); } finally { System.out.println("本次运算结束"); } } private static void getMessage() { // TODO Auto-generated method stub System.out.println("被除数不能为零!"); }; }
- 编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。
-
package ert; import java.util.*; public class Exception2 { public final static float PI= 3.14f; public static void main(String[] args) { try { float area; System.out.println("请输入圆的半径:"); Scanner q=new Scanner(System.in); float q1=q.nextFloat(); area=q1*q1*PI; System.out.println("圆的面积是:"+area); }catch(NumberFormatException e) { e.printStackTrace(); } } }