AutosarC++17_10-A15.5.3¶
The std::terminate() function shall not be called implicitly
Required inputs: IR, StaticSemanticAnalysis
Possible Messages
Key |
Text |
Severity |
Disabled |
|---|---|---|---|
exception_escaping_constructor |
Escaping exception from constructor. |
None |
False |
exception_escaping_destructor |
Escaping exception from destructor. |
None |
False |
exception_escaping_initialization |
Uncaught exception raised in initialization or finalization |
None |
False |
exception_escaping_main |
Uncaught exception escaping from main or additional entry point |
None |
False |
exception_specification_violation |
Exception violates function’s exception-specification. |
None |
False |
exception_specification_violation_from_call |
Exceptions propagated from this call violate function’s exception-specification. |
None |
False |
implicit_noexcept_spec_violation_without |
Function implicitly declared noexcept(false) but no exceptions will be thrown. |
None |
False |
noexcept_spec_violation_with |
Exception violates function’s noexcept-specification. |
None |
False |
noexcept_spec_violation_without |
Function declared noexcept(false) but no exceptions will be thrown. |
None |
False |
possibly_required_operation |
This thread is possibly joinable on destructor call |
None |
False |
required_operation |
This thread is joinable on destructor call |
None |
False |
Options¶
This rule shares the following common options: exclude_in_macros, exclude_messages_in_system_headers, excludes, extend_exclude_to_macro_invocations, includes, justification_checker, languages, post_processing, provider, report_at, severity
The following places define options that affect this rule: Stylechecks, Analysis-GlobalOptions
allowed_exceptions¶
allowed_exceptions : set[str] = {'bad_alloc', 'bad_cast', 'failure', 'runtime_error', 'system_error'}
constructors¶
constructors : bool = False
destructors¶
destructors : bool = True
exclude_exception_base_classes¶
exclude_exception_base_classes : set[bauhaus.analysis.config.QualifiedName] = set()
generate_violation_path¶
generate_violation_path : bool = True
ignore_constructor_destructor¶
ignore_constructor_destructor : bool = True
ignore_implicit_noexcept_spec_lambda¶
ignore_implicit_noexcept_spec_lambda : bool = False
ignore_throwing_functions¶
ignore_throwing_functions : bool = False
ignore_unknown_routines¶
ignore_unknown_routines : bool = False
inspect_at_exit_handlers¶
inspect_at_exit_handlers : bool = True
at_exit() handlers-functions.
inspect_atexit_entry_points¶
inspect_atexit_entry_points : bool = False
inspect_thread_main¶
inspect_thread_main : bool = True
report_at_call¶
report_at_call : bool = False
report_noexcept_false_violations¶
report_noexcept_false_violations : bool = False
report_only_one_exception_per_function¶
report_only_one_exception_per_function : bool = False
required¶
required
Dict which lists required operations per resource. The mapping gives each case a description which maps to a dict for key "Required_Functions".Type: dict[str, dict[str, dict[str, bool | str]]]
Default:
{ 'Thread': { 'Writing to a read-only file stream': { 'Required_Functions': 'std::thread::join,std::thread::detach' } } }
resources¶
resources : set[str] = {'Thread'}