Skip to content
This repository has been archived by the owner on Jun 3, 2021. It is now read-only.

Commit

Permalink
Add universal error code. (#2533)
Browse files Browse the repository at this point in the history
  • Loading branch information
wqyfavor authored and lucky-chen committed Jun 12, 2019
1 parent d3f7560 commit 74ea092
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 9 deletions.
20 changes: 20 additions & 0 deletions ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,26 @@
#define WX_ERROR_TYPE_RENDER @"RENDER_ERROR"
#define WX_ERROR_TYPE_DOWNLOAD @"DOWN_LOAD_ERROR"

typedef NS_ENUM(int, WXSDKUniversalErrCode)
{
WX_UNI_KEY_EXCEPTION_DEGRADE = -1000,
WX_UNI_KEY_EXCEPTION_DEGRADE_CHECK_CONTENT_LENGTH_FAILED = -1003,
WX_UNI_KEY_EXCEPTION_DEGRADE_BUNDLE_CONTENTTYPE_ERROR = -1004,
WX_UNI_KEY_EXCEPTION_DEGRADE_OTHER_CAUSE = -1005,
WX_UNI_KEY_EXCEPTION_DEGRADE_EAGLE_RENDER_ERROR = -1007,
WX_UNI_KEY_EXCEPTION_DEGRADE_NET_CODE_CAUSE = -1008,
};

/* For legacy usage.
Defines all error codes only for iOS platform which may be different from Android error codes.
For monitor uploads, we will remap the error code to WXSDKUniversalErrCode above if an
error code is declared having a remapped value.
You could either use WXSDKUniversalErrCode or WXSDKErrCode when committing an error.
*/
typedef NS_ENUM(int, WXSDKErrCode)
{
// No use
WX_ERR_JSFRAMEWORK_START = -1001,
WX_ERR_JSFRAMEWORK_LOAD = -1002,
WX_ERR_JSFRAMEWORK_EXECUTE = -1003,
Expand Down Expand Up @@ -70,13 +87,15 @@ typedef NS_ENUM(int, WXSDKErrCode)
WX_KEY_EXCEPTION_DOM = -9300,
WX_KEY_EXCEPTION_WXBRIDGE=-9400,

// The following error codes have a remapped value defined in WXSDKUniversalErrCode
WX_KEY_EXCEPTION_DEGRADE = -9500,
WX_KEY_EXCEPTION_DEGRADE_CHECK_CONTENT_LENGTH_FAILED = -9501,
WX_KEY_EXCEPTION_DEGRADE_BUNDLE_CONTENTTYPE_ERROR = -9502,
WX_KEY_EXCEPTION_DEGRADE_OTHER_CAUSE = -9503,
WX_KEY_EXCEPTION_DEGRADE_NET_CODE_CAUSE = -9504,
WX_KEY_EXCEPTION_DEGRADE_EAGLE_RENDER_ERROR = -9505,

// No use
WX_KEY_EXCEPTION_ABILITY_DOWN = -9600,
WX_KEY_EXCEPTION_ABILITY_DOWN_IMAGE = -9601,
WX_KEY_EXCEPTION_ABILITY_DOWN_TOH5 = -9602,
Expand Down Expand Up @@ -110,6 +129,7 @@ typedef NS_ENUM (NSInteger,WXSDKErrorGroup){
+ (WXSDKErrorGroup) getErrorGroupByCode:(WXSDKErrCode) code;
+ (NSString *) convertGroupToStringName:(WXSDKErrorGroup) group;
+ (NSString *) convertTypeToStringName:(WXSDKErrorType)type;
+ (NSString *) convertToUniversalCode:(WXSDKErrCode)code;

@end

28 changes: 19 additions & 9 deletions ios/sdk/WeexSDK/Sources/Engine/WXSDKError.m
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
#import "WXSDKError.h"

#define ERROR_TYPE @"type"
#define ERROR_GROUP @"groupe"
#define ERROR_GROUP @"group"
#define ERROR_ALIAS @"alias"

@implementation WXSDKErrCodeUtil

Expand Down Expand Up @@ -64,7 +65,6 @@ +(NSDictionary *) getMap
@(WX_ERR_JSBRIDGE_END):@{ERROR_TYPE:@(WX_JS_ERROR),ERROR_GROUP:@(WX_JS)},

@(WX_ERR_RENDER_START):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_ERR_JSFRAMEWORK_START):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_ERR_RENDER_UPDATTR):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_ERR_RENDER_UPDSTYLE):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_ERR_RENDER_ADDELEMENT):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
Expand All @@ -89,17 +89,16 @@ +(NSDictionary *) getMap
@(WX_KEY_EXCEPTION_DOM):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_KEY_EXCEPTION_WXBRIDGE):@{ERROR_TYPE:@(WX_JS_ERROR),ERROR_GROUP:@(WX_JS)},

@(WX_KEY_EXCEPTION_DEGRADE):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_KEY_EXCEPTION_DEGRADE_CHECK_CONTENT_LENGTH_FAILED):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NET)},
@(WX_KEY_EXCEPTION_DEGRADE_BUNDLE_CONTENTTYPE_ERROR):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NET)},
@(WX_KEY_EXCEPTION_DEGRADE_EAGLE_RENDER_ERROR):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_JS)},
@(WX_KEY_EXCEPTION_DEGRADE_OTHER_CAUSE):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_KEY_EXCEPTION_DEGRADE_NET_CODE_CAUSE):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NET)},
@(WX_KEY_EXCEPTION_DEGRADE):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NATIVE),ERROR_ALIAS:@(WX_UNI_KEY_EXCEPTION_DEGRADE)},
@(WX_KEY_EXCEPTION_DEGRADE_CHECK_CONTENT_LENGTH_FAILED):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NET),ERROR_ALIAS:@(WX_UNI_KEY_EXCEPTION_DEGRADE_CHECK_CONTENT_LENGTH_FAILED)},
@(WX_KEY_EXCEPTION_DEGRADE_BUNDLE_CONTENTTYPE_ERROR):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NET), ERROR_ALIAS:@(WX_UNI_KEY_EXCEPTION_DEGRADE_BUNDLE_CONTENTTYPE_ERROR)},
@(WX_KEY_EXCEPTION_DEGRADE_EAGLE_RENDER_ERROR):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_JS),ERROR_ALIAS:@(WX_UNI_KEY_EXCEPTION_DEGRADE_EAGLE_RENDER_ERROR)},
@(WX_KEY_EXCEPTION_DEGRADE_OTHER_CAUSE):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NATIVE),ERROR_ALIAS:@(WX_UNI_KEY_EXCEPTION_DEGRADE_OTHER_CAUSE)},
@(WX_KEY_EXCEPTION_DEGRADE_NET_CODE_CAUSE):@{ERROR_TYPE:@(WX_DEGRADE_ERROR),ERROR_GROUP:@(WX_NET),ERROR_ALIAS:@(WX_UNI_KEY_EXCEPTION_DEGRADE_NET_CODE_CAUSE)},

@(WX_KEY_EXCEPTION_ABILITY_DOWN):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_KEY_EXCEPTION_ABILITY_DOWN_IMAGE):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_KEY_EXCEPTION_ABILITY_DOWN_TOH5):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_ERR_JSFRAMEWORK_START):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_KEY_EXCEPTION_ABILITY_DOWN_):@{ERROR_TYPE:@(WX_NATIVE_ERROR),ERROR_GROUP:@(WX_NATIVE)},
@(WX_KEY_EXCEPTION_EMPTY_SCREEN_JS):@{ERROR_TYPE:@(WX_RENDER_ERROR),ERROR_GROUP:@(WX_JS)},
@(WX_KEY_EXCEPTION_EMPTY_SCREEN_NATIVE):@{ERROR_TYPE:@(WX_RENDER_ERROR),ERROR_GROUP:@(WX_NATIVE)},
Expand Down Expand Up @@ -141,4 +140,15 @@ + (NSString *) convertGroupToStringName:(WXSDKErrorGroup)group
}
}

+ (NSString *) convertToUniversalCode:(WXSDKErrCode)code
{
id aliasCode = [[[self getMap] objectForKey:@(code)] objectForKey:ERROR_ALIAS];
if (aliasCode) {
return [aliasCode description];
}
else {
return [@(code) description];
}
}

@end

0 comments on commit 74ea092

Please sign in to comment.