{hidden}DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[DataException]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummery}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Constants Summery{th}{tr}{tbody}{tr}{td}[Number]{td}{td}[#ABSTRACT_FORM]
Exception code for ABSTRACT\_FORM.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#ACQUIRE_LOCK_FAILURE]
Exception code for ACQUIRE\_LOCK\_FAILURE.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#BAD_SQL_SYNTAX]
Exception code for BAD\_SQL\_SYNTAX.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#CLIENT_NOT_AUTHORIZED]
Exception code for CLIENT\_NOT\_AUTHORIZED.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#DATA_ACCESS_RESOURCE_FAILURE]
Exception code for DATA\_ACCESS\_RESOURCE\_FAILURE.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#DATA_INTEGRITY_VIOLATION]
Exception code for DATA\_INTEGRITY\_VIOLATION.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#DEADLOCK]
Exception code for DEADLOCK.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#DELETE_NOT_GRANTED]
Exception code for DELETE\_NOT\_GRANTED.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#EXECUTE_PROGRAM_FAILED]
Exception code for EXECUTE\_PROGRAM\_FAILED.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#INCORRECT_LOGIN]
Exception code for INCORRECT\_LOGIN.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#INVALID_INPUT]
Exception code for INVALID\_INPUT.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#INVALID_INPUT_FORMAT]
Exception code for INVALID\_INPUT\_FORMAT.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#INVALID_RESULTSET_ACCESS]
Exception code for INVALID\_RESULTSET\_ACCESS.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#MAINTENANCE_MODE]
Exception code for MAINTENANCE\_MODE.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#NO_ACCESS]
Exception code for NO\_ACCESS.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#NO_CREATE_ACCESS]
Exception code for NO\_CREATE\_ACCESS.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#NO_DELETE_ACCESS]
Exception code for NO\_DELETE\_ACCESS.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#NO_LICENSE]
Exception code for NO\_LICENSE.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#NO_MODIFY_ACCESS]
Exception code for NO\_MODIFY\_ACCESS.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#NO_PARENT_DELETE_WITH_RELATED_RECORDS]
Exception code for NO\_PARENT\_DELETE\_WITH\_RELATED\_RECORDS.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#NO_RELATED_CREATE_ACCESS]
Exception code for NO\_RELATED\_CREATE\_ACCESS.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#PERMISSION_DENIED]
Exception code for PERMISSION\_DENIED.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#RECORD_LOCKED]
Exception code for RECORD\_LOCKED.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#RECORD_VALIDATION_FAILED]
Exception code for RECORD\_VALIDATION\_FAILED.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#SAVE_FAILED]
Exception code for SAVE\_FAILED.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#UNKNOWN_DATABASE_EXCEPTION]
Exception code for UNKNOWN\_DATABASE\_EXCEPTION.{td}{tr}{tbody}{table}\\ 

{table:id=|class=servoy sSummery}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summery{th}{tr}{tbody}{tr}{td}[Number]{td}{td}[#getErrorCode]\()
Returns the error code for this ServoyException.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getMessage]\()
Returns the string message for this ServoyException.{td}{tr}{tbody}{table}\\ 

{table:id=constant|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Constants Details{th}{tr}{tbody:id=ABSTRACT_FORM|class=node}{tr:id=name}{td}h6.ABSTRACT_FORM{td}{tr}{tr:id=des}{td}Exception code for ABSTRACT\_FORM.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=ACQUIRE_LOCK_FAILURE|class=node}{tr:id=name}{td}h6.ACQUIRE_LOCK_FAILURE{td}{tr}{tr:id=des}{td}Exception code for ACQUIRE\_LOCK\_FAILURE.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=BAD_SQL_SYNTAX|class=node}{tr:id=name}{td}h6.BAD_SQL_SYNTAX{td}{tr}{tr:id=des}{td}Exception code for BAD\_SQL\_SYNTAX.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=CLIENT_NOT_AUTHORIZED|class=node}{tr:id=name}{td}h6.CLIENT_NOT_AUTHORIZED{td}{tr}{tr:id=des}{td}Exception code for CLIENT\_NOT\_AUTHORIZED.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DATA_ACCESS_RESOURCE_FAILURE|class=node}{tr:id=name}{td}h6.DATA_ACCESS_RESOURCE_FAILURE{td}{tr}{tr:id=des}{td}Exception code for DATA\_ACCESS\_RESOURCE\_FAILURE.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DATA_INTEGRITY_VIOLATION|class=node}{tr:id=name}{td}h6.DATA_INTEGRITY_VIOLATION{td}{tr}{tr:id=des}{td}Exception code for DATA\_INTEGRITY\_VIOLATION.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DEADLOCK|class=node}{tr:id=name}{td}h6.DEADLOCK{td}{tr}{tr:id=des}{td}Exception code for DEADLOCK.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DELETE_NOT_GRANTED|class=node}{tr:id=name}{td}h6.DELETE_NOT_GRANTED{td}{tr}{tr:id=des}{td}Exception code for DELETE\_NOT\_GRANTED.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=EXECUTE_PROGRAM_FAILED|class=node}{tr:id=name}{td}h6.EXECUTE_PROGRAM_FAILED{td}{tr}{tr:id=des}{td}Exception code for EXECUTE\_PROGRAM\_FAILED.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=INCORRECT_LOGIN|class=node}{tr:id=name}{td}h6.INCORRECT_LOGIN{td}{tr}{tr:id=des}{td}Exception code for INCORRECT\_LOGIN.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=INVALID_INPUT|class=node}{tr:id=name}{td}h6.INVALID_INPUT{td}{tr}{tr:id=des}{td}Exception code for INVALID\_INPUT.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=INVALID_INPUT_FORMAT|class=node}{tr:id=name}{td}h6.INVALID_INPUT_FORMAT{td}{tr}{tr:id=des}{td}Exception code for INVALID\_INPUT\_FORMAT.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=INVALID_RESULTSET_ACCESS|class=node}{tr:id=name}{td}h6.INVALID_RESULTSET_ACCESS{td}{tr}{tr:id=des}{td}Exception code for INVALID\_RESULTSET\_ACCESS.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=MAINTENANCE_MODE|class=node}{tr:id=name}{td}h6.MAINTENANCE_MODE{td}{tr}{tr:id=des}{td}Exception code for MAINTENANCE\_MODE.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=NO_ACCESS|class=node}{tr:id=name}{td}h6.NO_ACCESS{td}{tr}{tr:id=des}{td}Exception code for NO\_ACCESS.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=NO_CREATE_ACCESS|class=node}{tr:id=name}{td}h6.NO_CREATE_ACCESS{td}{tr}{tr:id=des}{td}Exception code for NO\_CREATE\_ACCESS.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=NO_DELETE_ACCESS|class=node}{tr:id=name}{td}h6.NO_DELETE_ACCESS{td}{tr}{tr:id=des}{td}Exception code for NO\_DELETE\_ACCESS.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=NO_LICENSE|class=node}{tr:id=name}{td}h6.NO_LICENSE{td}{tr}{tr:id=des}{td}Exception code for NO\_LICENSE.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=NO_MODIFY_ACCESS|class=node}{tr:id=name}{td}h6.NO_MODIFY_ACCESS{td}{tr}{tr:id=des}{td}Exception code for NO\_MODIFY\_ACCESS.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=NO_PARENT_DELETE_WITH_RELATED_RECORDS|class=node}{tr:id=name}{td}h6.NO_PARENT_DELETE_WITH_RELATED_RECORDS{td}{tr}{tr:id=des}{td}Exception code for NO\_PARENT\_DELETE\_WITH\_RELATED\_RECORDS.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=NO_RELATED_CREATE_ACCESS|class=node}{tr:id=name}{td}h6.NO_RELATED_CREATE_ACCESS{td}{tr}{tr:id=des}{td}Exception code for NO\_RELATED\_CREATE\_ACCESS.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=PERMISSION_DENIED|class=node}{tr:id=name}{td}h6.PERMISSION_DENIED{td}{tr}{tr:id=des}{td}Exception code for PERMISSION\_DENIED.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=RECORD_LOCKED|class=node}{tr:id=name}{td}h6.RECORD_LOCKED{td}{tr}{tr:id=des}{td}Exception code for RECORD\_LOCKED.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=RECORD_VALIDATION_FAILED|class=node}{tr:id=name}{td}h6.RECORD_VALIDATION_FAILED{td}{tr}{tr:id=des}{td}Exception code for RECORD\_VALIDATION\_FAILED.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=SAVE_FAILED|class=node}{tr:id=name}{td}h6.SAVE_FAILED{td}{tr}{tr:id=des}{td}Exception code for SAVE\_FAILED.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=UNKNOWN_DATABASE_EXCEPTION|class=node}{tr:id=name}{td}h6.UNKNOWN_DATABASE_EXCEPTION{td}{tr}{tr:id=des}{td}Exception code for UNKNOWN\_DATABASE\_EXCEPTION.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=getErrorCode|class=node}{tr:id=name}{td}h6.getErrorCode{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getErrorCode{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}Returns the error code for this ServoyException. Can be one of the constants declared in ServoyException.{td}{tr}{tr:id=ret}{td}*Returns*\\ [Number] -- the error code for this ServoyException. Can be one of the constants declared in ServoyException.{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//this sample script should be attached to onError method handler in the solution settings
var e = arguments[0];
application.output("Exception Object: "+e)
application.output("MSG: "+e.getMessage())
if (e instanceof ServoyException)
{
	application.output("is a ServoyException")
	application.output("Errorcode: "+e.getErrorCode())
	if (e.getErrorCode() == ServoyException.SAVE_FAILED)
	{
		plugins.dialogs.showErrorDialog( "Error",  "It seems you did not fill in a required field", 'OK');
		//Get the failed records after a save
		var array = databaseManager.getFailedRecords()
		for( var i = 0 ; i < array.length ; i++ )
		{
			var record = array[i];
			application.output(record.exception);
			if (record.exception instanceof DataException)
			{
				application.output("SQL: "+record.exception.getSQL())
				application.output("SQLState: "+record.exception.getSQLState())
				application.output("VendorErrorCode: "+record.exception.getVendorErrorCode())
			}
		}
		return false
	}
}
//if returns false or no return, error is not reported to client; if returns true error is reported
//by default error report means logging the error, in smart client an error dialog will also show up
return true
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMessage|class=node}{tr:id=name}{td}h6.getMessage{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getMessage{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}Returns the string message for this ServoyException.{td}{tr}{tr:id=ret}{td}*Returns*\\ [String] -- the string message for this ServoyException.{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//this sample script should be attached to onError method handler in the solution settings
var e = arguments[0];
application.output("Exception Object: "+e)
application.output("MSG: "+e.getMessage())
if (e instanceof ServoyException)
{
	application.output("is a ServoyException")
	application.output("Errorcode: "+e.getErrorCode())
	if (e.getErrorCode() == ServoyException.SAVE_FAILED)
	{
		plugins.dialogs.showErrorDialog( "Error",  "It seems you did not fill in a required field", 'OK');
		//Get the failed records after a save
		var array = databaseManager.getFailedRecords()
		for( var i = 0 ; i < array.length ; i++ )
		{
			var record = array[i];
			application.output(record.exception);
			if (record.exception instanceof DataException)
			{
				application.output("SQL: "+record.exception.getSQL())
				application.output("SQLState: "+record.exception.getSQLState())
				application.output("VendorErrorCode: "+record.exception.getVendorErrorCode())
			}
		}
		return false
	}
}
//if returns false or no return, error is not reported to client; if returns true error is reported
//by default error report means logging the error, in smart client an error dialog will also show up
return true
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}