blob: 6d51a9226c27c1f676a7a965f23ef790fb8a9cd1 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex.common;
public enum WXErrorCode {
/*
* environment
**/
/**
* Failure for load so library
*/
WX_ERR_LOAD_SO("-2001", "load so error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for load JSLib
*/
WX_ERR_LOAD_JSLIB("-2002", "unzip JSLib error!",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* So library corrupted
*/
WX_ERR_BAD_SO("-2003", "so size error, to reload apk so",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for extract and copy so from apk
*/
WX_ERR_COPY_FROM_APK("-2007", "system load so error,copy from APK also error!",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* jsBridge
**/
/**
* Error for JavaScript function parameter
*/
WX_ERR_JSFUNC_PARAM("-2009", "JS params error!",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Error for parsing JSON object
*/
WX_ERR_JSON_OBJECT("-2008", "transform JSON->OBJ error!",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for invoking JavaScript function
*/
WX_ERR_INVOKE_NATIVE("-2012", "Native-> Call ->JS error!",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for executing JavaScript function.
*/
WX_ERR_JS_EXECUTE("-2013", "JavaScript execute error!",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/*
* domModule
**/
WX_SUCCESS("0", "successful",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for createBody
*/
WX_ERR_DOM_CREATEBODY("-2100", "createBody error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for updateAttrs
*/
WX_ERR_DOM_UPDATEATTRS("-2101", "updateAttrs error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for updateAttr
*/
WX_ERR_DOM_UPDATESTYLE("-2102", "updateStyle error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for addElement
*/
WX_ERR_DOM_ADDELEMENT("-2103", "addElement error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for removeElement
*/
WX_ERR_DOM_REMOVEELEMENT("-2104", "removeElement error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for moveElement
*/
WX_ERR_DOM_MOVEELEMENT("-2105", "moveElement error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for addEvent
*/
WX_ERR_DOM_ADDEVENT("-2106", "addEvent error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for removeEvent
*/
WX_ERR_DOM_REMOVEEVENT("-2107", "removeEvent error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for invoking createFinish
*/
WX_ERROR_DOM_CREATEFINISH("-2108", "createFinish error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for invoking refreshFinish
*/
WX_ERROR_DOM_REFRESHFINISH("-2109", "refreshFinish error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Failure for scrollToElement
*/
WX_ERR_DOM_SCROLLTO("-2110", "scrollToElement",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
*
*/
WX_ERR_RELOAD_PAGE("-2111", "reloadPage",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
*
*/
WX_ERR_JSC_CRASH("-2112", "weexjscCrash",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
*dom actions invalid for native
*/
WX_ERR_FIRST_DOM_ACTION_EXCEPTION("-2113", "dom action is invalid ",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* JS Bundle download error
*/
WX_ERR_JSDOWNLOAD_START("-2201", "js bundle download start",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_ERR_JSBUNDLE_DOWNLOAD("-2299", "js bundle download err",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_ERR_JSBUNDLE_EMPTY("-2203", "js bundle empty",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_ERR_JSDOWNLOAD_END("-2299", "js bundle download end",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
// for js framework
WX_JS_FRAMEWORK_INIT_SUCCESS("-1000", "js framework success",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_JS_FRAMEWORK_REINIT_SUCCESS("-1001", "js framework reinit success",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* JS Framework run error
*/
WX_ERR_JS_FRAMEWORK("-1002", "js framework error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_ERR_JS_REINIT_FRAMEWORK("-1003", "js reinit framework error",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* Single progress init error
*/
WX_ERR_SINGLE_PROCESS_DLOPEN_FILE_NOT_EXIST("-1004", "so file is not exist",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_ERR_SINGLE_PROCESS_DLOPEN_FLAIED("-1005", "dlopen so file failed",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_ERR_SINGLE_PROCESS_DLSYM_FAILED("-1006", "find function from so file failed",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_ERR_SINGLE_PROCESS_JS_FRAMEWORK("-1007", "js framework init singleProcess failed",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_JS_FRAMEWORK_INIT_MULPROCESS_FAILED("-1008", "js framework init multiProcess failed",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_JS_FRAMEWORK_REINIT_MULPROCESS_FAILED("-1009", "js framework reinit multiProcess failed",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_JS_FRAMEWORK_INIT_FAILED("-1010", "js framework init failed",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_JS_FRAMEWORK_INIT_SINGLE_PROCESS_SUCCESS("-1011", "js framework init success in single process",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* WX Key Exception Commit RT SDK Init
*/
WX_KEY_EXCEPTION_SDK_INIT("-9000", "[WX_KEY_EXCEPTION_SDK_INIT]",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_SDK_INIT_CPU_NOT_SUPPORT("-9001", "[WX_KEY_EXCEPTION_SDK_INIT_CPU_NOT_SUPPORT] for android cpu is x86",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_SDK_INIT_TABLE_NOT_SUPPORT("-9002", "[WX_KEY_EXCEPTION_SDK_INIT_TABLE_NOT_SUPPORT] for device isTabletDevice",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_SDK_INIT_JSFM_INIT_FAILED("-9003", "[WX_KEY_EXCEPTION_SDK_INIT_JSFM_INIT_FAILED] for jsfm init failed|detail error is:",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* WX Key Exception Commit RT Register
*/
WX_KEY_EXCEPTION_INVOKE("-9100", "[WX_KEY_EXCEPTION_INVOKE]",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_INVOKE_REGISTER_CONTENT_FAILED("-9101", "[WX_KEY_EXCEPTION_INVOKE_REGISTER_CONTENT_FAILED] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_INVOKE_JSSERVICE_EXECUTE("-9102", "[WX_KEY_EXCEPTION_INVOKE_JSSERVICE_EXECUTE] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_INVOKE_REGISTER_MODULES("-9103", "[WX_KEY_EXCEPTION_INVOKE_REGISTER_MODULES] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* WX Key Exception Commit Bundle Js Download
*/
WX_KEY_EXCEPTION_JS_DOWNLOAD("-9200", "[WX_KEY_EXCEPTION_JS_DOWNLOAD]|",ErrorType.NATIVE_ERROR,ErrorGroup.NET),
WX_KEY_EXCEPTION_JS_DOWNLOAD_FAILED("-9201", "[WX_KEY_EXCEPTION_JS_DOWNLOAD_FAILED] | details",ErrorType.NATIVE_ERROR,ErrorGroup.NET),
/**
* WX Key Exception Commit RT DomAction Excute
*/
WX_KEY_EXCEPTION_DOM("-9300", "[WX_KEY_EXCEPTION_DOM]",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_ACTION_FIRST_ACTION("-9301", "[WX_KEY_EXCEPTION dom action exception] details: ACTION_FIRST_ACTION",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_CREATE_BODY("-9302", "[WX_KEY_EXCEPTION dom action exception] details:CREATE_BODY",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_UPDATE_ATTRS("-9303", "[WX_KEY_EXCEPTION dom action exception] details:UPDATE_ATTRS",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_UPDATE_STYLE("-9304", "[WX_KEY_EXCEPTION dom action exception] details:UPDATE_STYLE",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_REMOVE_ELEMENT("-9305", "[WX_KEY_EXCEPTION dom action exception] details:REMOVE_ELEMENT",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_ADD_ELEMENT("-9306", "[WX_KEY_EXCEPTION dom action exception] details:ADD_ELEMENT",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_MOVE_ELEMENT("-9307", "[WX_KEY_EXCEPTION dom action exception] details:MOVE_ELEMENT",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_ADD_EVENT("-9308", "[WX_KEY_EXCEPTION dom action exception] details:DOM_ADD_EVENT",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_REMOVE_EVENT("-9309", "[WX_KEY_EXCEPTION dom action exception] details:DOM_REMOVE_EVENT",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_CREATE_FINISH("-9310", "[WX_KEY_EXCEPTION dom action exception] details:CREATE_FINISH",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_REFRESH_FINISH("-9311", "[WX_KEY_EXCEPTION dom action exception] details:REFRESH_FINISH",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_ADD_RULE("-9313", "[WX_KEY_EXCEPTION_DOM_ADD_RULE] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_GET_COMPONENT_RECT("-9314", "[WX_KEY_EXCEPTION_DOM_GET_COMPONENT_RECT] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_INVOKE_METHOD("-9315", "[WX_KEY_EXCEPTION_DOM_INVOKE_METHOD] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_ANIMATION("-9316", "[WX_KEY_EXCEPTION_DOM_ANIMATION] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
WX_KEY_EXCEPTION_DOM_MODULEINVO("-9317", "[WX_KEY_EXCEPTION_DOM_MODULEINVO] details",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE),
/**
* WX Key Exception Commit RT JsBridge eg. js excute runtime error
*/
WX_KEY_EXCEPTION_WXBRIDGE("-9400", "[js excute runtime error] detail js stack \n",ErrorType.JS_ERROR,ErrorGroup.JS),
WX_KEY_EXCEPTION_WXBRIDGE_EXCEPTION("-9401", "[js excute runtime error] detail js stack \n",ErrorType.JS_ERROR,ErrorGroup.JS),
/**
* renderErrorCode
*/
WX_RENDER_ERR_JS_CREATE_INSTANCE("-9600", "WX_RENDER_ERR_JS_CREATE_INSTANCE",ErrorType.RENDER_ERROR,ErrorGroup.JS),
WX_RENDER_ERR_JS_RUNTIME("-9601", "WX_RENDER_ERR for js error",ErrorType.RENDER_ERROR, ErrorGroup.JS),
WX_RENDER_ERR_LAYER_OVERFLOW("-9602", "WX_RENDER_ERR_LAYER_OVERFLOW", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
WX_RENDER_ERR_NULL_KEY("-9603", "WX_RENDER_ERR_NULL_KEY", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
WX_RENDER_ERR_CONTAINER_TYPE("-9611", "WX_RENDER_ERR_CONTAINER_TYPE", ErrorType.JS_ERROR,ErrorGroup.JS),
/**
* degrade code.
*/
WX_DEGRAD_ERR("-1000", "degradeToH5|Weex DegradPassivity \n",ErrorType.DEGRAD_ERROR,ErrorGroup.JS),
/**
* degrade for instance create failed, once this case occured,detail js stack and other specific
* cause need track into errmsg.
*/
WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED("-1001", "degradeToH5|createInstance fail|wx_create_instance_error",ErrorType.DEGRAD_ERROR,ErrorGroup.NATIVE),
/**
* degrade for network failed download js bundle.once this case occured,network requist response header
* and statuscode need track into errmsg.
*/
WX_DEGRAD_ERR_NETWORK_BUNDLE_DOWNLOAD_FAILED("-1002", "|wx_network_error|js bundle download failed",ErrorType.DEGRAD_ERROR,ErrorGroup.NET),
/**
* degrade for network failed for bundlejs is unbroken , once this case occured,network requist response header
* and statuscode need track into errmsg.
*/
WX_DEGRAD_ERR_NETWORK_CHECK_CONTENT_LENGTH_FAILED("-1003", "degradeToH5|wx_network_error|js bundle content-length check failed",ErrorType.DEGRAD_ERROR,ErrorGroup.NET),
/**
* degrade for Response header Content-Type is null or not "application/javascript".
* once this case occured,network requist response header and statuscode need track into errmsg.
*/
WX_DEGRAD_ERR_BUNDLE_CONTENTTYPE_ERROR("-1004", "degradeToH5|wx_user_intercept_error |Content-Type is not application/javascript, " +
"Weex render template must be javascript, please check your request!",ErrorType.DEGRAD_ERROR,ErrorGroup.NET),
/**
* degrade for other reason. such as white screen which block error for some unknown reason.
* once this case occured,detail msg need track.
*/
WX_DEGRAD_ERR_OTHER_CAUSE_DEGRADTOH5("-1005", "degradeToH5|for other reason|",ErrorType.DEGRAD_ERROR,ErrorGroup.NATIVE),
WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED_JS("-1006", "degradeToH5|createInstance fail|wx_create_instance_error",ErrorType.DEGRAD_ERROR,ErrorGroup.JS),
/**
* TEST
*/
WX_ERR_TEST("test", "test",ErrorType.NATIVE_ERROR,ErrorGroup.NATIVE);
private String errorCode;
private String errorMsg;
private String appendMsg="";
private String args;
private ErrorType mErrorType;
private ErrorGroup mErrorGroup;
WXErrorCode(String errorCode, String errorMsg,ErrorType errorType,ErrorGroup errorGroup) {
this.errorCode = errorCode;
this.errorMsg = errorMsg;
this.mErrorType = errorType;
this.mErrorGroup = errorGroup;
}
public void appendErrMsg(String err) {
appendMsg=err;
}
public String getErrorCode() {
return this.errorCode;
}
public String getErrorMsg() {
StringBuilder builder=new StringBuilder(errorMsg);
builder.append(appendMsg);
return builder.toString();
}
public ErrorType getErrorType() {
return mErrorType;
}
public ErrorGroup getErrorGroup() {
return mErrorGroup;
}
public String getArgs() {
return args;
}
public void setArgs(String args) {
this.args = args;
}
public enum ErrorType{
JS_ERROR,
NATIVE_ERROR,
RENDER_ERROR,
DEGRAD_ERROR
}
public enum ErrorGroup{
JS,
NATIVE,
NET
}
}