Java初级测试题八-异常处理(3-3)

涎涎原创约 944 字大约 3 分钟...JavaJava

Java初级测试题八-异常处理(3-3)

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

1.编写应用程序,从命令行传入两个整型数作为除数和被除数。要求程序中捕获NumberFormatException 异常和ArithmeticException 异常,而且无论在哪种情况下,“总是被执行”这句话都会在控制台输出。 在命令行输入不同的参数时能输出如下各种结果:

1.1 在命令行输入 java A

总是被执行  Exception in thread "main" 
java.lang.ArrayIndexOutofBoundsException at A.main(A.java:7)  

1.2 在命令行输入 java A 1 2

0   总是被执行

1.3 在命令行输入 java A 1 3a

java.lang.NumberFormatException: 3a  at 
java.lang.Integer.parseInt(Integer.java:435)    at 
java.lang.Integer.parseInt(Integer.java:476)   at A.main(A.java:8)  
 总是被执行 

1.4 在命令行输入 java A 1 0

java.lang.ArithmeticException: / by zero at A.main(A.java:9)  总是被执行 
public class Topic1 {

	/*
	 * 1、编写应用程序,从命令行传入两个整型数作为除数和被除数。
	 *  要求程序中捕获NumberFormatException
	 * 异常和ArithmeticException 异常,
	 * 而且无论在哪种情况下,“总是被执行”这句话都会在控制台输出。
	 */
	public static void main(String[] args) {
		java.util.Scanner scanner = new java.util.Scanner(System.in);
		System.out.println("please enter the first number");
		String string1 = scanner.next();
		System.out.println("please enter the second number");
		String string2 = scanner.next();
		int num1,num2;
		try {
			num1 = Integer.getInteger(string1);
			num2 = Integer.getInteger(string2);
			System.out.println(num1 / num2);
		} catch (NumberFormatException | ArithmeticException e) {
			e.printStackTrace();
		}finally {
			System.out.println("总是被执行");
		}
	}
}
  1. 编写一个检查给定的数字的数据类型是否为byte的程序,如果此数字超出byte数据类型表示的数的范围,则引发用户自定义的异常ByteSizeException,并显示相应的错误信息(知识点:自定义异常)

步骤1:创建用户自定义异常类ByteSizeException

步骤2:在main方法中编写逻辑代码

步骤3:运行并测试

效果如图:

package 课后作业;

public class ByteSizeException extends Exception {

	/*
	 * 2、编写一个检查给定的数字的数据类型是否为byte的程序,
	 * 如果此数字超出byte数据类型表示的数的范围,
	 * 则引发用户自定义的异常ByteSizeException,
	 * 并显示相应的错误信息(知识点:自定义异常) [选作题]
	 * 步骤1:创建用户自定义异常类ByteSizeException 
	 * 步骤2:在main方法中编写逻辑代码 
	 * 步骤3:运行并测试 效果如图:
	 */
	public ByteSizeException() {
		super("此数字超出byte数据类型表示范围");
	}
	public static void foo(int num) {//异常两种处理方式  积极处理  消极处理
		if(num < - 128  && num > 127)
		{
			try {
				throw new ByteSizeException();
			} catch (ByteSizeException e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		foo(129);
	}
}
  1. 编写一个方法,比较两个字符串。假如其中一个字符串为空,会产生NullPointerException异常,在方法声明中通告该异常,并在适当时候触发异常,然后编写一个程序捕获该异常。
public class NullPointerException extends Exception{
	/*
	 * 3. 编写一个方法,比较两个字符串。假如其中一个字符串为空,
	 * 会产生NullPointerException异常,在方法声明中通告该异常,
	 * 并在适当时候触发异常, 然后编写一个程序捕获该异常。
	 */
	public static void testString(String string1,String string2) {
		if(string1 == null || string2 == null)
		{
			try {
				throw new NullPointerException();
			} catch (NullPointerException e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		String string1 = "aaa";
		String string2 = null;
		testString(string1, string2);
	}
}

分割线


相关信息

以上就是我关于 Java初级测试题八-异常处理(3-3) 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4