java - 如何在没有 System.exit 的情况下停止程序
问题描述
好的,我在某处读到使用 System.exit 命令就像用锯切西瓜一样。
我有这部分代码和其中的一个异常
try {
System.out.print("Add last name of passenger: ");//asking user to enter last name
passenger.setLastName(scanner.nextLine());//scanning his input
if (!passenger.getLastName().contains("[A-Za-z]")) {//if his input is not equal with this regex
throw new NoNumbersException();//throw this
}
} catch (NoNumbersException nne) {
System.out.println(nne.getMessage());//catch exception
System.exit(0);//exit program
}
如何在没有异常的情况下停止该程序System.exit
?如果我从代码程序中删除它打印我的异常然后继续其他代码,在该程序之后保存我输入的姓氏,即使那是整数
解决方案
当没有更多的非守护线程处于活动状态时,您的程序和正在执行它的 JVM 会自动终止。您必须优雅地停止在应用程序中启动的所有线程以使其终止。
推荐阅读
- amazon-web-services - AWS CodeBuild:部署代码在管道中引发 npm 错误
- php - PHP 回显变量返回一个 mysql 查询字符串
- php - 我如何使用 API Laravel 从数据库中检索
- facebook - 如何将 UTM 参数从短链接传递到长链接?
- haskell - 在 Haskell 中计算给定变化量的最小硬币数量
- kotlin - 结果 getOrNull 给出 ClassCastException
- java - 计算具有中间状态的哈希 (md5, sha1)
- c# - 如何在 .Net Core 3.1 中编写和使用 oracle 程序
- reactjs - 反应 setState 不立即更新状态
- reactjs - 当我返回页面 React 时保存之前的搜索