2026-06-12 16:32:35 +00:00
<!DOCTYPE html>
< html lang = "en" data-bs-theme = "light" >
< head >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "author" content = "dceoy" >
< link rel = "canonical" href = "https://github.com/dceoy/mt5cli/api/exceptions/" >
< link rel = "shortcut icon" href = "../../img/favicon.ico" >
< title > Exceptions - mt5cli API Documentation</ title >
< link href = "../../css/bootstrap.min.css" rel = "stylesheet" >
< link href = "../../css/fontawesome.min.css" rel = "stylesheet" >
< link href = "../../css/brands.min.css" rel = "stylesheet" >
< link href = "../../css/solid.min.css" rel = "stylesheet" >
< link href = "../../css/v4-font-face.min.css" rel = "stylesheet" >
< link href = "../../css/base.css" rel = "stylesheet" >
< link id = "hljs-light" rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" >
< link id = "hljs-dark" rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github-dark.min.css" disabled >
< link href = "../../assets/_mkdocstrings.css" rel = "stylesheet" >
< script src = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js" ></ script >
< script > hljs . highlightAll ();</ script >
</ head >
< body >
< div class = "navbar fixed-top navbar-expand-lg navbar-dark bg-primary" >
< div class = "container" >
< a class = "navbar-brand" href = "../.." > mt5cli API Documentation</ a >
<!-- Expander button -->
< button type = "button" class = "navbar-toggler" data-bs-toggle = "collapse" data-bs-target = "#navbar-collapse" aria-controls = "navbar-collapse" aria-expanded = "false" aria-label = "Toggle navigation" >
< span class = "navbar-toggler-icon" ></ span >
</ button >
<!-- Expanded navigation -->
< div id = "navbar-collapse" class = "navbar-collapse collapse" >
<!-- Main navigation -->
< ul class = "nav navbar-nav" >
< li class = "nav-item" >
< a href = "../.." class = "nav-link" > Home</ a >
</ li >
< li class = "nav-item dropdown" >
< a href = "#" class = "nav-link dropdown-toggle active" aria-current = "page" role = "button" data-bs-toggle = "dropdown" aria-expanded = "false" > API Reference</ a >
< ul class = "dropdown-menu" >
< li >
< a href = "../" class = "dropdown-item" > Overview</ a >
</ li >
2026-06-18 10:12:55 +00:00
< li >
< a href = "../public-contract/" class = "dropdown-item" > Public API Contract</ a >
</ li >
2026-06-12 16:32:35 +00:00
< li >
< a href = "../client/" class = "dropdown-item" > Client</ a >
</ li >
< li >
< a href = "../schemas/" class = "dropdown-item" > Schemas</ a >
</ li >
< li >
< a href = "../converters/" class = "dropdown-item" > Converters</ a >
</ li >
< li >
< a href = "./" class = "dropdown-item active" aria-current = "page" > Exceptions</ a >
</ li >
< li >
< a href = "../cli/" class = "dropdown-item" > CLI</ a >
</ li >
< li >
< a href = "../sdk/" class = "dropdown-item" > SDK</ a >
</ li >
< li >
< a href = "../trading/" class = "dropdown-item" > Trading</ a >
</ li >
< li >
< a href = "../history/" class = "dropdown-item" > History Collection (SQLite)</ a >
</ li >
< li >
< a href = "../utils/" class = "dropdown-item" > Utils</ a >
</ li >
</ ul >
</ li >
</ ul >
< ul class = "nav navbar-nav ms-md-auto" >
< li class = "nav-item" >
< a href = "#" class = "nav-link" data-bs-toggle = "modal" data-bs-target = "#mkdocs_search_modal" >
< i class = "fa fa-search" ></ i > Search
</ a >
</ li >
< li class = "nav-item" >
< a rel = "prev" href = "../converters/" class = "nav-link" >
< i class = "fa fa-arrow-left" ></ i > Previous
</ a >
</ li >
< li class = "nav-item" >
< a rel = "next" href = "../cli/" class = "nav-link" >
Next < i class = "fa fa-arrow-right" ></ i >
</ a >
</ li >
< li class = "nav-item" >
< a href = "https://github.com/dceoy/mt5cli/edit/master/docs/api/exceptions.md" class = "nav-link" > Edit on dceoy/mt5cli
</ a >
</ li >
</ ul >
</ div >
</ div >
</ div >
< div class = "container" >
< div class = "row" >
< div class = "col-md-3" >< div class = "navbar-expand-md bs-sidebar hidden-print affix" role = "complementary" >
< div class = "navbar-header" >
< button type = "button" class = "navbar-toggler collapsed" data-bs-toggle = "collapse" data-bs-target = "#toc-collapse" title = "Table of Contents" >
< span class = "fa fa-angle-down" ></ span >
</ button >
</ div >
< div id = "toc-collapse" class = "navbar-collapse collapse card bg-body-tertiary" >
< ul class = "nav flex-column" >
< li class = "nav-item" data-bs-level = "1" >< a href = "#exceptions" class = "nav-link" > Exceptions</ a >
< ul class = "nav flex-column" >
< li class = "nav-item" data-bs-level = "2" >< a href = "#mt5cli.exceptions" class = "nav-link" > exceptions</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
</ ul >
</ li >
</ ul >
</ div >
</ div ></ div >
< div class = "col-md-9" role = "main" >
< h1 id = "exceptions" > Exceptions< a class = "headerlink" href = "#exceptions" title = "Permanent link" > ¶ </ a ></ h1 >
< div class = "doc doc-object doc-module" >
< h2 id = "mt5cli.exceptions" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-module-name" > mt5cli.exceptions</ span >
< a href = "#mt5cli.exceptions" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h2 >
< div class = "doc doc-contents first" >
< p > Normalized exception types for MT5 and mt5cli operations.</ p >
< div class = "doc doc-children" >
< div class = "doc doc-object doc-attribute" >
< h3 id = "mt5cli.exceptions.T" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > T</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-module-attribute" >< code > module-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.exceptions.T" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "n" > T</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "typing.TypeVar" > TypeVar</ span ></ span >< span class = "p" > (</ span >< span class = "s1" > ' T' </ span >< span class = "p" > )</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h3 id = "mt5cli.exceptions.__all__" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > __all__</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-module-attribute" >< code > module-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.exceptions.__all__" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "n" > __all__</ span > < span class = "o" > =</ span > < span class = "p" > [</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "s2" > " Mt5CliError" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "s2" > " Mt5ConnectionError" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "s2" > " Mt5OperationError" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "s2" > " Mt5SchemaError" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "s2" > " call_with_normalized_errors" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "s2" > " is_recoverable_mt5_error" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a > < span class = "s2" > " normalize_mt5_exception" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-class" >
< h3 id = "mt5cli.exceptions.Mt5CliError" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > Mt5CliError</ span >
< a href = "#mt5cli.exceptions.Mt5CliError" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc doc-contents " >
< p class = "doc doc-class-bases" >
Bases: < code >< span title = "Exception" > Exception</ span ></ code ></ p >
< p > Base exception for mt5cli public API errors.</ p >
</ div >
</ div >
< div class = "doc doc-object doc-class" >
< h3 id = "mt5cli.exceptions.Mt5ConnectionError" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > Mt5ConnectionError</ span >
< a href = "#mt5cli.exceptions.Mt5ConnectionError" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc doc-contents " >
< p class = "doc doc-class-bases" >
Bases: < code >< a class = "autorefs autorefs-internal" title = "Mt5CliError (mt5cli.exceptions.Mt5CliError)" href = "#mt5cli.exceptions.Mt5CliError" > Mt5CliError</ a ></ code ></ p >
< p > Raised when MT5 initialization, login, or shutdown fails.</ p >
</ div >
</ div >
< div class = "doc doc-object doc-class" >
< h3 id = "mt5cli.exceptions.Mt5OperationError" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > Mt5OperationError</ span >
< a href = "#mt5cli.exceptions.Mt5OperationError" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc doc-contents " >
< p class = "doc doc-class-bases" >
Bases: < code >< a class = "autorefs autorefs-internal" title = "Mt5CliError (mt5cli.exceptions.Mt5CliError)" href = "#mt5cli.exceptions.Mt5CliError" > Mt5CliError</ a ></ code ></ p >
< p > Raised when an MT5 data or trading operation fails.</ p >
</ div >
</ div >
< div class = "doc doc-object doc-class" >
< h3 id = "mt5cli.exceptions.Mt5SchemaError" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > Mt5SchemaError</ span >
< a href = "#mt5cli.exceptions.Mt5SchemaError" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc doc-contents " >
< p class = "doc doc-class-bases" >
Bases: < code >< a class = "autorefs autorefs-internal" title = "Mt5CliError (mt5cli.exceptions.Mt5CliError)" href = "#mt5cli.exceptions.Mt5CliError" > Mt5CliError</ a ></ code ></ p >
< p > Raised when a DataFrame does not match an expected dataset schema.</ p >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.exceptions.call_with_normalized_errors" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > call_with_normalized_errors</ span >
< a href = "#mt5cli.exceptions.call_with_normalized_errors" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > call_with_normalized_errors</ span >< span class = "p" > (</ span >< span class = "n" > fn</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Callable" > Callable</ span ></ span >< span class = "p" > [[],</ span > < span class = "n" >< a class = "autorefs autorefs-internal" title = "T
module-attribute
(mt5cli.exceptions.T)" href = "#mt5cli.exceptions.T" > T</ a ></ span >< span class = "p" > ])</ span > < span class = "o" > -> </ span > < span class = "n" >< a class = "autorefs autorefs-internal" title = "T
module-attribute
(mt5cli.exceptions.T)" href = "#mt5cli.exceptions.T" > T</ a ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Run < code > fn</ code > and map recoverable MT5 errors to mt5cli types.</ p >
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
< th > Default</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code > fn</ code >
</ td >
< td >
< code >< span title = "collections.abc.Callable" > Callable</ span > [[], < a class = "autorefs autorefs-internal" title = "T
module-attribute
(mt5cli.exceptions.T)" href = "#mt5cli.exceptions.T" > T</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Callable performing MT5 work.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< a class = "autorefs autorefs-internal" title = "T
module-attribute
(mt5cli.exceptions.T)" href = "#mt5cli.exceptions.T" > T</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Value returned by < code > fn</ code > .</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/exceptions.py</ code ></ summary >
2026-06-26 13:28:39 +00:00
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-82" > 82</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-83" > 83</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-84" > 84</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-85" > 85</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-86" > 86</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-87" > 87</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-88" > 88</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-89" > 89</ a ></ span >
2026-06-26 13:28:39 +00:00
< span class = "normal" >< a href = "#__codelineno-0-90" > 90</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-91" > 91</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-92" > 92</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-93" > 93</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-94" > 94</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-95" > 95</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-82" name = "__codelineno-0-82" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > call_with_normalized_errors</ span >< span class = "p" > (</ span >< span class = "n" > fn</ span >< span class = "p" > :</ span > < span class = "n" > Callable</ span >< span class = "p" > [[],</ span > < span class = "n" > T</ span >< span class = "p" > ])</ span > < span class = "o" > -> </ span > < span class = "n" > T</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-83" name = "__codelineno-0-83" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Run ``fn`` and map recoverable MT5 errors to mt5cli types.</ span >
< a id = "__codelineno-0-84" name = "__codelineno-0-84" ></ a >
< a id = "__codelineno-0-85" name = "__codelineno-0-85" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-86" name = "__codelineno-0-86" ></ a >< span class = "sd" > fn: Callable performing MT5 work.</ span >
< a id = "__codelineno-0-87" name = "__codelineno-0-87" ></ a >
< a id = "__codelineno-0-88" name = "__codelineno-0-88" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-89" name = "__codelineno-0-89" ></ a >< span class = "sd" > Value returned by ``fn``.</ span >
< a id = "__codelineno-0-90" name = "__codelineno-0-90" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-91" name = "__codelineno-0-91" ></ a > < span class = "k" > try</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-92" name = "__codelineno-0-92" ></ a > < span class = "k" > return</ span > < span class = "n" > fn</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-93" name = "__codelineno-0-93" ></ a > < span class = "k" > except</ span > < span class = "n" > _RECOVERABLE_MT5_ERRORS</ span > < span class = "k" > as</ span > < span class = "n" > exc</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-94" name = "__codelineno-0-94" ></ a > < span class = "n" > normalized</ span > < span class = "o" > =</ span > < span class = "n" > normalize_mt5_exception</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-95" name = "__codelineno-0-95" ></ a > < span class = "k" > raise</ span > < span class = "n" > normalized</ span > < span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > exc</ span >
2026-06-12 16:32:35 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.exceptions.is_recoverable_mt5_error" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > is_recoverable_mt5_error</ span >
< a href = "#mt5cli.exceptions.is_recoverable_mt5_error" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > is_recoverable_mt5_error</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "BaseException" > BaseException</ span ></ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "bool" > bool</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return whether an exception is a transient MT5 failure worth retrying.</ p >
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
< th > Default</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code > exc</ code >
</ td >
< td >
< code >< span title = "BaseException" > BaseException</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Exception raised by MT5 or pdmt5.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
2026-06-26 13:28:39 +00:00
< p > True for < code > Mt5RuntimeError</ code > and < code > Mt5TradingError</ code > (if available).</ p >
2026-06-12 16:32:35 +00:00
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/exceptions.py</ code ></ summary >
2026-06-26 13:28:39 +00:00
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-51" > 51</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-52" > 52</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-53" > 53</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-54" > 54</ a ></ span >
2026-06-26 13:28:39 +00:00
< span class = "normal" >< a href = "#__codelineno-0-55" > 55</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-56" > 56</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-57" > 57</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-58" > 58</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-59" > 59</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-60" > 60</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-51" name = "__codelineno-0-51" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > is_recoverable_mt5_error</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > :</ span > < span class = "ne" > BaseException</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > bool</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-52" name = "__codelineno-0-52" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return whether an exception is a transient MT5 failure worth retrying.</ span >
< a id = "__codelineno-0-53" name = "__codelineno-0-53" ></ a >
< a id = "__codelineno-0-54" name = "__codelineno-0-54" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-55" name = "__codelineno-0-55" ></ a >< span class = "sd" > exc: Exception raised by MT5 or pdmt5.</ span >
< a id = "__codelineno-0-56" name = "__codelineno-0-56" ></ a >
< a id = "__codelineno-0-57" name = "__codelineno-0-57" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-58" name = "__codelineno-0-58" ></ a >< span class = "sd" > True for ``Mt5RuntimeError`` and ``Mt5TradingError`` (if available).</ span >
< a id = "__codelineno-0-59" name = "__codelineno-0-59" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-60" name = "__codelineno-0-60" ></ a > < span class = "k" > return</ span > < span class = "nb" > isinstance</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ,</ span > < span class = "n" > _RECOVERABLE_MT5_ERRORS</ span >< span class = "p" > )</ span >
2026-06-12 16:32:35 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.exceptions.normalize_mt5_exception" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > normalize_mt5_exception</ span >
< a href = "#mt5cli.exceptions.normalize_mt5_exception" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > normalize_mt5_exception</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "BaseException" > BaseException</ span ></ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< a class = "autorefs autorefs-internal" title = "Mt5CliError (mt5cli.exceptions.Mt5CliError)" href = "#mt5cli.exceptions.Mt5CliError" > Mt5CliError</ a ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Map pdmt5/MT5 exceptions to stable mt5cli exception types.</ p >
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
< th > Default</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code > exc</ code >
</ td >
< td >
< code >< span title = "BaseException" > BaseException</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Original exception from MT5 or pdmt5.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< a class = "autorefs autorefs-internal" title = "Mt5CliError (mt5cli.exceptions.Mt5CliError)" href = "#mt5cli.exceptions.Mt5CliError" > Mt5CliError</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p >< code > Mt5ConnectionError</ code > for runtime failures, < code > Mt5OperationError</ code > for</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< a class = "autorefs autorefs-internal" title = "Mt5CliError (mt5cli.exceptions.Mt5CliError)" href = "#mt5cli.exceptions.Mt5CliError" > Mt5CliError</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > trading failures, or the original exception when it is not recognized.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/exceptions.py</ code ></ summary >
2026-06-26 13:28:39 +00:00
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-63" > 63</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-64" > 64</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-65" > 65</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-66" > 66</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-67" > 67</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-68" > 68</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-69" > 69</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-70" > 70</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-71" > 71</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-72" > 72</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-73" > 73</ a ></ span >
2026-06-26 13:28:39 +00:00
< span class = "normal" >< a href = "#__codelineno-0-74" > 74</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-75" > 75</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-76" > 76</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-77" > 77</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-78" > 78</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-79" > 79</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-63" name = "__codelineno-0-63" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > normalize_mt5_exception</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > :</ span > < span class = "ne" > BaseException</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > Mt5CliError</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-64" name = "__codelineno-0-64" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Map pdmt5/MT5 exceptions to stable mt5cli exception types.</ span >
< a id = "__codelineno-0-65" name = "__codelineno-0-65" ></ a >
< a id = "__codelineno-0-66" name = "__codelineno-0-66" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-67" name = "__codelineno-0-67" ></ a >< span class = "sd" > exc: Original exception from MT5 or pdmt5.</ span >
< a id = "__codelineno-0-68" name = "__codelineno-0-68" ></ a >
< a id = "__codelineno-0-69" name = "__codelineno-0-69" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-70" name = "__codelineno-0-70" ></ a >< span class = "sd" > ``Mt5ConnectionError`` for runtime failures, ``Mt5OperationError`` for</ span >
< a id = "__codelineno-0-71" name = "__codelineno-0-71" ></ a >< span class = "sd" > trading failures, or the original exception when it is not recognized.</ span >
< a id = "__codelineno-0-72" name = "__codelineno-0-72" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-73" name = "__codelineno-0-73" ></ a > < span class = "k" > if</ span > < span class = "n" > Mt5TradingError</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span > < span class = "ow" > and</ span > < span class = "nb" > isinstance</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ,</ span > < span class = "n" > Mt5TradingError</ span >< span class = "p" > ):</ span >
< a id = "__codelineno-0-74" name = "__codelineno-0-74" ></ a > < span class = "k" > return</ span > < span class = "n" > Mt5OperationError</ span >< span class = "p" > (</ span >< span class = "nb" > str</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ))</ span >
< a id = "__codelineno-0-75" name = "__codelineno-0-75" ></ a > < span class = "k" > if</ span > < span class = "nb" > isinstance</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ,</ span > < span class = "n" > Mt5RuntimeError</ span >< span class = "p" > ):</ span >
< a id = "__codelineno-0-76" name = "__codelineno-0-76" ></ a > < span class = "k" > return</ span > < span class = "n" > Mt5ConnectionError</ span >< span class = "p" > (</ span >< span class = "nb" > str</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ))</ span >
< a id = "__codelineno-0-77" name = "__codelineno-0-77" ></ a > < span class = "k" > if</ span > < span class = "nb" > isinstance</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ,</ span > < span class = "n" > Mt5CliError</ span >< span class = "p" > ):</ span >
< a id = "__codelineno-0-78" name = "__codelineno-0-78" ></ a > < span class = "k" > return</ span > < span class = "n" > exc</ span >
< a id = "__codelineno-0-79" name = "__codelineno-0-79" ></ a > < span class = "k" > return</ span > < span class = "n" > Mt5CliError</ span >< span class = "p" > (</ span >< span class = "nb" > str</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ))</ span >
2026-06-12 16:32:35 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
</ div >
</ div >
</ div ></ div >
</ div >
</ div >
< footer class = "col-md-12" >
< hr >
< p > Documentation built with < a href = "https://www.mkdocs.org/" > MkDocs</ a > .</ p >
</ footer >
< script src = "../../js/bootstrap.bundle.min.js" ></ script >
< script >
var base_url = "../.." ,
shortcuts = { "help" : 191 , "next" : 78 , "previous" : 80 , "search" : 83 };
</ script >
< script src = "../../js/base.js" ></ script >
< script src = "../../search/main.js" ></ script >
< div class = "modal" id = "mkdocs_search_modal" tabindex = "-1" role = "dialog" aria-labelledby = "searchModalLabel" aria-hidden = "true" >
< div class = "modal-dialog modal-lg" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" id = "searchModalLabel" > Search</ h4 >
< button type = "button" class = "btn-close" data-bs-dismiss = "modal" aria-label = "Close" ></ button >
</ div >
< div class = "modal-body" >
< p > From here you can search these documents. Enter your search terms below.</ p >
< form >
< div class = "form-group" >
< input type = "search" class = "form-control" placeholder = "Search..." id = "mkdocs-search-query" title = "Type search term here" >
</ div >
</ form >
< div id = "mkdocs-search-results" data-no-results-text = "No results found" ></ div >
</ div >
< div class = "modal-footer" >
</ div >
</ div >
</ div >
</ div >< div class = "modal" id = "mkdocs_keyboard_modal" tabindex = "-1" role = "dialog" aria-labelledby = "keyboardModalLabel" aria-hidden = "true" >
< div class = "modal-dialog" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" id = "keyboardModalLabel" > Keyboard Shortcuts</ h4 >
< button type = "button" class = "btn-close" data-bs-dismiss = "modal" aria-label = "Close" ></ button >
</ div >
< div class = "modal-body" >
< table class = "table" >
< thead >
< tr >
< th style = "width: 20%;" > Keys</ th >
< th > Action</ th >
</ tr >
</ thead >
< tbody >
< tr >
< td class = "help shortcut" >< kbd > ?</ kbd ></ td >
< td > Open this help</ td >
</ tr >
< tr >
< td class = "next shortcut" >< kbd > n</ kbd ></ td >
< td > Next page</ td >
</ tr >
< tr >
< td class = "prev shortcut" >< kbd > p</ kbd ></ td >
< td > Previous page</ td >
</ tr >
< tr >
< td class = "search shortcut" >< kbd > s</ kbd ></ td >
< td > Search</ td >
</ tr >
</ tbody >
</ table >
</ div >
< div class = "modal-footer" >
</ div >
</ div >
</ div >
</ div >
</ body >
</ html >