异常处理参考答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
try{
foo(555);
}catch(ByteSizeException e) {
e.printStackTrace();
}
}
}
publicclassMain{
publicstaticvoidtest(String s,String a )throwsNullPointerException {
if(s==null||a ==null) {
thrownewNullPointerException();
}else{
}
}
publicstaticvoidmain(String[] args) {
“NullPointerException”);
}
“OK”);
}
NullPointerException
NullPointerException
OK
2.编写一个方法,比较两个字符串。假如其中一个字符串为空,会产生NullPointerException异常,在方法声明中通告该异常,并在适当时候触发异常,然后编写一个程序捕获该异常。
4.给定下面代码:?B. Test 22 C. Test3 D. Test 4
5.编写应用程序,从命令行传入两个整型数作为除数和被除数。要求程序中捕获NumberFormatException异常和ArithmeticException异常在命令行输入不同的参数时能输出如下各种结果:
3a3a
6.编写一个检查给定的数字的数据类型是否为byte的程序,如果此数字超出byte数据类型表示的数的范围,则引发用户自定义的异常ByteSizeException,并显示相应的错误信息
}
}
publicclassMain{
publicstaticvoidfoo(intnumber)throwsByteSizeException{
if(number > 127 || number < -128){
thrownewByteSizeException();
}
}
publicstaticvoidmain(String[] args) {
步骤1:创建用户自定义异常类ByteSizeException
步骤2:在main方法中编写逻辑代码
步骤3:运行并测试
效果如图:
publicclassByteSizeExceptionextendsException{
publicByteSizeException(){
super("此数字超出byte数据类型表示的数的范围");
} catch (NullPointerException e) {
“NullPointerException”);
throw e;
}
}
Public static void main(String args[]) {
Try {
Int a[] = null;
average(a);
} catch (NullPointerException e ) {
//TODOAuto-generated method stub
try{
String s =null;
String a ="asff";
test(s,a);
}catcΒιβλιοθήκη Baidu(NullPointerExceptione){
e.printStackTrace();
}
}
}
3.假如要从命令行获得两个整数,自定义两个异常类来描述可能发生的异常:ParameterNumberException(参数个数异常),ParameterFormateException(参数格式异常),设计一个类,在check(String args[])方法中通告这两个异常,在main方法中判断相应的情况下触发异常,然后捕获异常,对它们进行处理。
一、【必做题】
1.写出以下程序的运行结果。
Static double average(int[] a) throws NullPointerException {
Try {
Int sum = 0;
for (intI= 0;I< a.length;i++) {
Sum += a[i];
}
Return (((double) sum) / a.length);
foo(555);
}catch(ByteSizeException e) {
e.printStackTrace();
}
}
}
publicclassMain{
publicstaticvoidtest(String s,String a )throwsNullPointerException {
if(s==null||a ==null) {
thrownewNullPointerException();
}else{
}
}
publicstaticvoidmain(String[] args) {
“NullPointerException”);
}
“OK”);
}
NullPointerException
NullPointerException
OK
2.编写一个方法,比较两个字符串。假如其中一个字符串为空,会产生NullPointerException异常,在方法声明中通告该异常,并在适当时候触发异常,然后编写一个程序捕获该异常。
4.给定下面代码:?B. Test 22 C. Test3 D. Test 4
5.编写应用程序,从命令行传入两个整型数作为除数和被除数。要求程序中捕获NumberFormatException异常和ArithmeticException异常在命令行输入不同的参数时能输出如下各种结果:
3a3a
6.编写一个检查给定的数字的数据类型是否为byte的程序,如果此数字超出byte数据类型表示的数的范围,则引发用户自定义的异常ByteSizeException,并显示相应的错误信息
}
}
publicclassMain{
publicstaticvoidfoo(intnumber)throwsByteSizeException{
if(number > 127 || number < -128){
thrownewByteSizeException();
}
}
publicstaticvoidmain(String[] args) {
步骤1:创建用户自定义异常类ByteSizeException
步骤2:在main方法中编写逻辑代码
步骤3:运行并测试
效果如图:
publicclassByteSizeExceptionextendsException{
publicByteSizeException(){
super("此数字超出byte数据类型表示的数的范围");
} catch (NullPointerException e) {
“NullPointerException”);
throw e;
}
}
Public static void main(String args[]) {
Try {
Int a[] = null;
average(a);
} catch (NullPointerException e ) {
//TODOAuto-generated method stub
try{
String s =null;
String a ="asff";
test(s,a);
}catcΒιβλιοθήκη Baidu(NullPointerExceptione){
e.printStackTrace();
}
}
}
3.假如要从命令行获得两个整数,自定义两个异常类来描述可能发生的异常:ParameterNumberException(参数个数异常),ParameterFormateException(参数格式异常),设计一个类,在check(String args[])方法中通告这两个异常,在main方法中判断相应的情况下触发异常,然后捕获异常,对它们进行处理。
一、【必做题】
1.写出以下程序的运行结果。
Static double average(int[] a) throws NullPointerException {
Try {
Int sum = 0;
for (intI= 0;I< a.length;i++) {
Sum += a[i];
}
Return (((double) sum) / a.length);