Pitfall: Misuse of System.exit
Explanation: The System.exit method forces termination of all threads in the Java virtual machine. This is drastic. It might, for example, destroy all windows created by the interpreter without giving the user a chance to record or even read their contents.
Solution: Programs should usually terminate by stopping all non-daemon threads; in the simplest case of a command-line program, this is as easy as returning from the main method. System.exit should be reserved for a catastrophic error exit, or for cases when a program is intended for use as a utility in a command script that may depend on the program’s exit code.
Explanation: The System.exit method forces termination of all threads in the Java virtual machine. This is drastic. It might, for example, destroy all windows created by the interpreter without giving the user a chance to record or even read their contents.
Solution: Programs should usually terminate by stopping all non-daemon threads; in the simplest case of a command-line program, this is as easy as returning from the main method. System.exit should be reserved for a catastrophic error exit, or for cases when a program is intended for use as a utility in a command script that may depend on the program’s exit code.
在Netbeans中,建议以下的关闭方式代替System.exit:
org.openide.LifecycleManager.getDefault().exit()
本文探讨了在Netbeans环境下使用EXIT_ON_CLOSE关闭窗口时遇到的ExitSecurityException异常问题,并提供了替代解决方案,即使用org.openide.LifecycleManager.getDefault().exit()方法。
960

被折叠的 条评论
为什么被折叠?



