<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2015 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: yunwuxin <448901948@qq.com>// +----------------------------------------------------------------------namespacethink\process\exception;usethink\Process;classFailedextends\RuntimeException{private$process;publicfunction__construct(Process$process){if($process->isSuccessful()){thrownew\InvalidArgumentException('Expected a failed process, but the given process was successful.');}$error=sprintf('The command "%s" failed.'."\nExit Code: %s(%s)",$process->getCommandLine(),$process->getExitCode(),$process->getExitCodeText());if(!$process->isOutputDisabled()){$error.=sprintf("\n\nOutput:\n================\n%s\n\nError Output:\n================\n%s",$process->getOutput(),$process->getErrorOutput());}parent::__construct($error);$this->process=$process;}publicfunctiongetProcess(){return$this->process;}}