-
说出两个我们在使用软件、
APP
时遇到的错误。这些错误可能是什么类型的错误?你是怎么解决这类错误呢(重启、查看日志…)?app
闪退,界面加载超时。未做异常处理,重启即可解决。 -
说出两个你在编写Java程序时最常遇到的错误。并判定这些错误是什么类型的错误(编译错误、运行时错误)。你认为哪种类型的错误更好解决呢?
编译错误更好解决,可以通过提示对代码进行有效的修改。
-
查询
JDK
文档,说说如下代码哪行抛出了什么类型的异常?为什么该段程序明明可能产生错误,但是不写try...catch
,也可编译通过。public static void main(String[] args) { int[] x = new int[3]; Scanner inputScan = new Scanner(System.in); for(int i = 0; i < x.length;){ System.out.println("Please input the "+i+" integer:"); String inputInt = inputScan.nextLine(); x[i] = Integer.parseInt(inputInt); //注意这里! i++; } System.out.println(Arrays.toString(x)); }
为上述代码添加try…catch。使得当输入错误时,可提示重新输入,直到输入正确后,才能继续往下执行。
public static void main(String[] args) { int[] x = new int[3]; Scanner inputScan = new Scanner(System.in); for(int i = 0; i < x.length;){ System.out.println("Please input the "+i+" integer:"); String inputInt = inputScan.nextLine(); try{ x[i] = Integer.parseInt(inputInt); }catch(Exception e){ System.out.println("格式错误!请重新输入!"); } i++; } System.out.println(Arrays.toString(x)); }
-
将如下代码中
NumberFormatException
改成Exception
可以吗?String x = "abc"; try { int a = Integer.parseInt(x); System.out.println(a); } catch (NumberFormatException e) { e.printStackTrace(); }
不可以,抛出
NumberFormatException
异常. -
查询
JDK
文档,说说如下代码哪里抛出了什么异常?该异常意味着吗什么?需要捕获吗?为什么?String fileName = "abc"; FileReader fileReader = new FileReader(fileName);
第2行会提示FileNotFoundException
,即文件找不到异常
需要捕获该异常,因为它属于受检异常,不是RuntimeException
的子类,可以使用try…catch来处理