Control - C исключение в Java - PullRequest
       29

Control - C исключение в Java

3 голосов
/ 07 апреля 2010

Мне нужно поймать это исключение, но я не могу понять, какое это.IDE, которую я использую сейчас, не позволяет программному прерыванию таким образом.

Я знаю, как пользователь пытается / поймать, но на самом деле я не знаю, что я пытаюсь поймать ..

Может кто-нибудь помочь мне с этим?

Ответы [ 3 ]

2 голосов
/ 07 апреля 2010

Кажется, я вспомнил, что CTRL-C становится InterruptedException, и эта статья , кажется, поддерживает это. Как предлагается в других ответах, использование addShutdownHook - хороший способ, если только вы не хотите предотвратить отключение.

1 голос
/ 07 апреля 2010

Звучит так, как вам нужно Runtime.addShutdownHook()

Регистрирует новый хук отключения виртуальной машины.

Виртуальная машина Java отключается в ответ на двавиды событий:

  • Программа завершается нормально, когда завершается последний поток, не являющийся демоном, или когда вызывается метод выхода (эквивалентно System.exit), или

  • Виртуальная машина завершает работу в ответ на пользовательское прерывание, такое как ввод ^ C, или общесистемное событие, такое как выход пользователя из системы или завершение работы системы.

Я не уверен, что вы действительно можете поймать как таковой, вы просто предоставляете Thread для запуска при выключении виртуальной машины.Я не думаю, что вы можете остановить это, как только это начнется.

0 голосов
/ 07 апреля 2010

addShutdownHook () - это то, что вы хотите.

http://www.esus.com/javaindex/j2se/jdk1.2/javalang/trapctrlc.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...