@@ -64,7 +64,7 @@ def build_struct_type(config: Config, type_node, typ, schema=None):
64
64
stp = build_element (StructTypeProperty , config , entity_type_property_node = proprty )
65
65
66
66
if stp .name in stype ._properties :
67
- raise KeyError ('{0} already has property {1}' .format (stype , stp .name ))
67
+ raise PyODataParserError ('{0} already has property {1}' .format (stype , stp .name ))
68
68
69
69
stype ._properties [stp .name ] = stp
70
70
@@ -81,7 +81,7 @@ def build_struct_type(config: Config, type_node, typ, schema=None):
81
81
def build_complex_type (config : Config , type_node , schema = None ):
82
82
try :
83
83
return build_element (StructType , config , type_node = type_node , typ = ComplexType , schema = schema )
84
- except ( PyODataException , KeyError , AttributeError ) as ex :
84
+ except PyODataException as ex :
85
85
config .err_policy (ParserError .COMPLEX_TYPE ).resolve (ex )
86
86
return NullType (type_node .get ('Name' ))
87
87
@@ -98,12 +98,12 @@ def build_entity_type(config: Config, type_node, schema=None):
98
98
navp = build_element ('NavigationTypeProperty' , config , node = proprty )
99
99
100
100
if navp .name in etype ._nav_properties :
101
- raise KeyError ('{0} already has navigation property {1}' .format (etype , navp .name ))
101
+ raise PyODataParserError ('{0} already has navigation property {1}' .format (etype , navp .name ))
102
102
103
103
etype ._nav_properties [navp .name ] = navp
104
104
105
105
return etype
106
- except (KeyError , AttributeError ) as ex :
106
+ except (PyODataParserError , AttributeError ) as ex :
107
107
config .err_policy (ParserError .ENTITY_TYPE ).resolve (ex )
108
108
return NullType (type_node .get ('Name' ))
109
109
@@ -160,29 +160,24 @@ def build_value_helper(config, target, annotation_node, schema):
160
160
value_helper ._parameters .append (param )
161
161
162
162
try :
163
- try :
164
- value_helper .entity_set = schema .entity_set (
165
- value_helper .collection_path , namespace = value_helper .element_namespace )
166
- except KeyError :
167
- raise RuntimeError (f'Entity Set { value_helper .collection_path } '
168
- f'for { value_helper } does not exist' )
169
-
163
+ value_helper .entity_set = schema .entity_set (
164
+ value_helper .collection_path , namespace = value_helper .element_namespace )
170
165
try :
171
166
vh_type = schema .typ (value_helper .proprty_entity_type_name ,
172
167
namespace = value_helper .element_namespace )
173
- except KeyError :
174
- raise RuntimeError (f'Target Type { value_helper .proprty_entity_type_name } '
175
- f'of { value_helper } does not exist' )
168
+ except PyODataModelError :
169
+ raise PyODataParserError (f'Target Type { value_helper .proprty_entity_type_name } '
170
+ f'of { value_helper } does not exist' )
176
171
177
172
try :
178
173
target_proprty = vh_type .proprty (value_helper .proprty_name )
179
- except KeyError :
180
- raise RuntimeError (f'Target Property { value_helper .proprty_name } '
181
- f'of { vh_type } as defined in { value_helper } does not exist' )
174
+ except PyODataModelError :
175
+ raise PyODataParserError (f'Target Property { value_helper .proprty_name } '
176
+ f'of { vh_type } as defined in { value_helper } does not exist' )
182
177
183
178
value_helper .proprty = target_proprty
184
179
target_proprty .value_helper = value_helper
185
- except (RuntimeError , PyODataModelError ) as ex :
180
+ except (PyODataModelError , PyODataParserError ) as ex :
186
181
config .err_policy (ParserError .ANNOTATION ).resolve (ex )
187
182
188
183
0 commit comments