/**
* Copyright (c) 2005-2013 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package org.python.pydev.debug.model.remote;
import org.python.pydev.debug.core.ConfigureExceptionsFileUtils;
import org.python.pydev.debug.model.AbstractDebugTarget;
import org.python.pydev.debug.model.PyExceptionBreakPointManager;
import org.python.pydev.shared_core.string.StringUtils;
public class SendPyExceptionCommand extends AbstractDebuggerCommand {
public SendPyExceptionCommand(AbstractDebugTarget debugger) {
super(debugger);
}
@Override
public String getOutgoing() {
PyExceptionBreakPointManager instance = PyExceptionBreakPointManager.getInstance();
String pyExceptions = instance.getExceptionsString().trim();
boolean breakOnUncaught = instance.getBreakOnUncaughtExceptions();
boolean breakOnCaught = instance.getBreakOnCaughtExceptions();
boolean skipCaughtExceptionsInSameFunction = instance.getSkipCaughtExceptionsInSameFunction();
boolean ignoreExceptionsThrownInLinesWithIgnoreException = instance
.getIgnoreExceptionsThrownInLinesWithIgnoreException();
return makeCommand(AbstractDebuggerCommand.CMD_SET_PY_EXCEPTION, sequence,
StringUtils.join(ConfigureExceptionsFileUtils.DELIMITER,
breakOnUncaught, breakOnCaught, skipCaughtExceptionsInSameFunction,
ignoreExceptionsThrownInLinesWithIgnoreException, pyExceptions));
}
}