Java初级测试题八-异常处理(3-3)
原创约 944 字大约 3 分钟...
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("总是被执行");
}
}
}
- 编写一个检查给定的数字的数据类型是否为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);
}
}
- 编写一个方法,比较两个字符串。假如其中一个字符串为空,会产生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