第四章 Java异常:语法上正确的程序在运行过程中也可能产生问题,对于有些问题程序是可以去处理的,我们把这类问题称为Java异常。处理异常有两种方式,一种是通过try-catch去捕获,一种是通过throws申明抛弃,由方法调用者来处理。我们也可以自定义异常类型,并通过throw语句人为的制造异常。4.1异常类型:每一种异常都有一个对应的异常类型,它们都是Exception类的直接子类或者间接子类。异常分为运行时异常和非运行时异常两大类,直观上理解,运行时异常通常是由主观因素造成的,而非运行时异常是由客观因素造成的。语法上,运行时异常是RuntimeException类型的异常,而其它类型的异常都是非运行时异常。非运行时异常在语法上要求程序必须处理,否则将产生语法错误。
4.2异常处理:处理异常有两种方式,一种是通过try-catch去捕获try语句块内的异常,程序执行过程中如果产生了异常则由相应的catch语句块捕获并处理。另一种处理方式是通过throws申明抛弃,由方法调用者来处理。本节通过文件操作示例具体说明异常处理的这两种方式。
4.3自定义异常:我们也可以自定义异常类型,并通过throw语句人为的制造异常。本节通过具体示例说明自定义异常的用法。
[单选题]下面语句中不存在语法错误的选项是( )。 选项:[throw new IOException();
, throw “Exception”;
, throw new NullPointerException();
, throw new Exception();
]
[单选题]已知Paper类是Document类的子类,d是Document类型的变量,运行语句Paper paper=(Paper)d;时有可能产生的异常有( )。 选项:[IOException
, NullPointerException;
, 都有可能
, ClassCastException
]
[判断题]异常处理有两种方式,一种是使用try-catch捕获异常,另一种方式是在方法形式中加上throws申明。( ) 选项:[错, 对]
[多选题]下面程序存在语法错误,做出正确修改的选项是( )。

public class Test{

public static void main(String[] args){

Exception e = new NullPointerException();

if(true) throw e;

System.out.println(“The End”);

}

}


选项:[修改throw e;为:
try{throw e;}catch(Exception e){}
, 修改throw e;为:
try{throw e;}catch(NullPointerException e){}
, 修改Exception e = new NullPointerException();为:
NullPointerException e = new NullPointerException();
, 修改Exception e = new NullPointerException();为:
Exception e = new Exception();
]
[多选题]关于下面程序说法正确的是( )。

class InputException extends RuntimeException{}

public class Test{

private void read(int a)throws InputException{

if(a<0) throw new InputException();

System.out.println(“OK”);

}

public static void main(String[] args){

Object obj = new Test();

((Test)obj).read(12);

System.out.println(“The End”);

}

}


选项:[InputException属于运行时异常
, 程序可以运行并输出OK、The End两行字符串
, 程序存在语法错误无法运行
, 程序可以运行但是会产生异常
]
[单选题]下面语句中不存在语法错误的选项是( )。 选项:[throw new IOException();
, throw “Exception”;
, throw new Exception();
, throw new NullPointerException();
]
[判断题]异常处理有两种方式,一种是使用try-catch捕获异常,另一种方式是在方法形式中加上throws申明。( ) 选项:[错, 对]
[单选题]已知Paper类是Document类的子类,d是Document类型的变量,运行语句Paper paper=(Paper)d;时有可能产生的异常有( )。 选项:[都有可能
, IOException
, NullPointerException;
, ClassCastException
]
[多选题]关于下面程序说法正确的是( )。

class InputException extends RuntimeException{}

public class Test{

private void read(int a)throws InputException{

if(a<0) throw new InputException();

System.out.println(“OK”);

}

public static void main(String[] args){

Object obj = new Test();

((Test)obj).read(12);

System.out.println(“The End”);

}

}


选项:[程序可以运行但是会产生异常
, 程序存在语法错误无法运行
, 程序可以运行并输出OK、The End两行字符串
, InputException属于运行时异常
]
[多选题]下面程序存在语法错误,做出正确修改的选项是( )。

public class Test{

public static void main(String[] args){

Exception e = new NullPointerException();

if(true) throw e;

System.out.println(“The End”);

}

}


选项:[修改throw e;为:
try{throw e;}catch(Exception e){}
, 修改Exception e = new NullPointerException();为:
NullPointerException e = new NullPointerException();
, 修改Exception e = new NullPointerException();为:
Exception e = new Exception();
, 修改throw e;为:
try{throw e;}catch(NullPointerException e){}
]

温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部