@@ -64,7 +64,7 @@ def build_struct_type(config: Config, type_node, typ, schema=None):
6464 stp = build_element (StructTypeProperty , config , entity_type_property_node = proprty )
6565
6666 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 ))
6868
6969 stype ._properties [stp .name ] = stp
7070
@@ -81,7 +81,7 @@ def build_struct_type(config: Config, type_node, typ, schema=None):
8181def build_complex_type (config : Config , type_node , schema = None ):
8282 try :
8383 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 :
8585 config .err_policy (ParserError .COMPLEX_TYPE ).resolve (ex )
8686 return NullType (type_node .get ('Name' ))
8787
@@ -98,12 +98,12 @@ def build_entity_type(config: Config, type_node, schema=None):
9898 navp = build_element ('NavigationTypeProperty' , config , node = proprty )
9999
100100 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 ))
102102
103103 etype ._nav_properties [navp .name ] = navp
104104
105105 return etype
106- except (KeyError , AttributeError ) as ex :
106+ except (PyODataParserError , AttributeError ) as ex :
107107 config .err_policy (ParserError .ENTITY_TYPE ).resolve (ex )
108108 return NullType (type_node .get ('Name' ))
109109
@@ -160,29 +160,24 @@ def build_value_helper(config, target, annotation_node, schema):
160160 value_helper ._parameters .append (param )
161161
162162 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 )
170165 try :
171166 vh_type = schema .typ (value_helper .proprty_entity_type_name ,
172167 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' )
176171
177172 try :
178173 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' )
182177
183178 value_helper .proprty = target_proprty
184179 target_proprty .value_helper = value_helper
185- except (RuntimeError , PyODataModelError ) as ex :
180+ except (PyODataModelError , PyODataParserError ) as ex :
186181 config .err_policy (ParserError .ANNOTATION ).resolve (ex )
187182
188183
0 commit comments