exception - NullPointerException 和 IllegalAccessException 的不同行为
问题描述
我试图理解 JAVA 中的 throws 子句,我编写了以下
代码:
class check
{
static void demo()
{
System.out.println("Hello\n");
throw new IllegalAccessException("demo");
}
public static void main(String args[])
{
demo();
}
}
我知道它不会编译,因为必须
在主方法中处理异常,并且应该通过
为 IllegalAccessException 指定 throws 子句来定义 demo()。
但是当我将异常更改为 NullPointerException 时,相同的
程序会编译并执行:
class check
{
static void demo()
{
System.out.println("Hello\n");
throw new NullPointerException("Demo");
}
public static void main(String args[])
{
demo();
}
}
解决方案
推荐阅读
- html - 要输入的最小文件数
- android - 如何从片段中的两个数组字符串创建自定义列表视图?
- reactjs - 在 React 中,如何使用 https:// 附加数据库中的 url
- javascript - 如何测试在开玩笑的对象中返回的函数
- java - 来自 git 的 Moschi 示例给出错误 Expected a string but was BEGIN_OBJECT at path $.hidden_card
- ios - 在 iOS 应用程序中使用 React Native Webview 间歇性崩溃
- lightningchart - 在闪电图表js中如何禁用Y轴上的标记
- c++ - 反转 LinkedList 通过递归导致错误的链接
- macos - MacOS iTerm2 - 当我对 ls 结果执行 grep 时,文件描述中的颜色丢失
- php - Woocommerce - 仅当有加售产品时才将 html 添加到单个产品页面