受检与非受检异常 — 程序设计选择题
题目
某方法声明为 static void load() throws IOException,方法体内依次写有:① 抛出 new FileNotFoundException("db");② 解引用一个为 null 的引用变量。下列关于编译与运行情况的说法,正确的是哪一项?
A. 编译器要求必须处理①抛出的 FileNotFoundException,②则编译通过、运行时才抛出 NullPointerException
B. ①和②都必须写 try-catch,否则编译不通过
C. FileNotFoundException 属于非受检异常,编译器不强制处理
D. NullPointerException 属于受检异常,方法必须声明 throws 才能通过编译