Set custom return code for S2-L1C products missing viewing angles
---
name: Feature Request (DM)
about: Use this template for reporting a feature request.
---
*Please note:* Any issue should be submitted using the [FA Template](https://gitlab.cnes.fr/maja/maja/blob/develop/.gitlab/issue_templates/FA.md)
**Describe the current behavior**
Given that more and more an S2-L1C products seem to be missing viewing angles, this modification shall assure that start_maja catches this specific error:
```
Traceback (most recent call last):
File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/launcher/maja.py", line 100, in <module>
main()
File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/launcher/maja.py", line 81, in main
lprocessor.scientific_processing()
File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/processor/l2_nominal_processor.py", line 216, in scientific_processing
l2_image_file_writer, checking_conditional_clouds)
File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/processor/l2_processor.py", line 591, in process_one_product
reduce_lut_computation.launch(global_input_dict, global_output_dict)
File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/modules/maja_module.py", line 66, in launch
self.run(dict_of_input, dict_of_output)
File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/processor/l2_pipelines/reduce_lut_computation.py", line 115, in run
raise MajaDataException("Error on input L1 product: missing Viewing angles for some l2 coarse band on detector "+key+" , all l2 coarse bands are needed for HR_Lut generation")
orchestrator.common.maja_exceptions.MajaDataException: Error on input L1 product: missing Viewing angles for some l2 coarse band on detector 12 , all l2 coarse bands are needed for HR_Lut generation
```
**Describe the expected behavior**
Start-Maj should skip the given product and the contexts associated with it (such as the product being exluded in a backward execution).
Some points to take into account:
* Custom return codes are not that straight forward: See [here](https://stackoverflow.com/questions/16786561/setting-an-exit-code-for-a-custom-exception-in-python), [here](https://stackoverflow.com/questions/6720119/setting-exit-code-in-python-when-an-exception-is-raised) or [maybe here](https://stackoverflow.com/questions/6720119/setting-exit-code-in-python-when-an-exception-is-raised)
* Start_maja currently has a program-level interface with maja, even though both could be interfaced on a pure python-level which would facilitate error code handling. Dropping the current interface would also mean dropping support for other maja-versions (3.x most importantly).
* Should this modification take too long, we have to update the readme with a *FAQ* section describing common errors to be found in maja.
**Urgency/Criticity**
- Urgency (Select Low/Medium/High): Low
- Criticity (Select Low/Medium/High): Low
**Additional info**
Various contexts exit from the past weeks.
**Correction**
TBD
issue