При невозможности создать трубу (неуспешном вызове pipe()) в конструкторе Interrupt бросается исключение. Так было задумано с самого начала, но было забыто...