package org.codehaus.groovy.grails.web.servlet.mvc.exceptions;

public class ControllerExecutionException extends GrailsMVCException {

	public ControllerExecutionException() {
		super();
		// TODO Auto-generated constructor stub
	}

	public ControllerExecutionException(String arg0, Throwable arg1) {
		super(arg0, arg1);
		// TODO Auto-generated constructor stub
	}

	public ControllerExecutionException(String arg0) {
		super(arg0);
		// TODO Auto-generated constructor stub
	}

	public ControllerExecutionException(Throwable arg0) {
		super(arg0);
		// TODO Auto-generated constructor stub
	}

}
