Level 9 : Handling exceptions inside a generator.


def safe_gen():
    try:
        yield 1
        1 / 0
        yield 2
    except ZeroDivisionError:
        yield "Error caught"
    yield 3

print(list(safe_gen()))

Author: SandhyaR | Tags: generator | 1859+ Python FAQs | Share
thread | while-loop | working-with-dates-and-times | list-mutation | tuple-methods | operator | list-comprehension | loop-control | min-function | working-with-temporary-files-using-tempfile | namespace | logical-operation | nested-loop | type-conversion | multiple-inheritance | tuple-unpacking | threading | heap-memory | __all__-attribute | list,-set,-and-dictionary-comprehensions | __future__ | python-repl | update | class | built-in-modules | bitwise-operator | assert | sys | arithmetic-operation | __init_subclass__ | package-management | async | collection | assignment-operators | mysql | recursion | string-method | classes | attribute | comment | asyncio-module | loop-control-statements | parsing-with-strptime | binary-operation | center | global | methods | class-and-object | collections | arbitrary-arguments-(*args,-**kwargs) | enumerate() | functional-programming | function-and-scope | class-and-instance-variable | application | list-vs-tuple | swapping | virtual-environment | numeric | module | boolean | using-os-and-pathlib-modules | arithmetic-expression | data-type | sum-function | encapsulation | benefit | class-decorators | file_handling | control-flow | operations | built-in-function | built-in | walking-through-directories-using-os.walk() | design-principle | else | multiple-except-blocks | zip-function | memory | boolean-masking | python | numpy | pass | object-attribute | string-formatting | matplotlib | floating-point-precision | functional-programming | return-statement | objects | bitwise-operator | time-series-with-pandas | call | global-keyword | formatting-with-strftime | global-variable | gil | sorted | advanced-file-operations | directory-operations | mathematical-function | string-manipulation | debugging | lambda | array | python-django | implementation | dictionary-comprehensions | introduction-to-python | reading-and-writing-large-files-efficiently | unit-testing | boolean-and-non-boolean | string-concatenation | list-slicing | control-flow | using-lists-as-stacks | datatype | type-conversion-and-casting | data-structures | input-function | slicing | memory-management | indentation | sys-module | using-yield-in-functions | string-formatting | basic | indexing:-loc-vs-iloc | map-function | identity-operators-(is,-is-not) | generator | strings | booleans | frozenset | formal-and-actual-parameter | regular-expression | class-and-inheritance | filtering-and-indexing | input-function | tuple | identifier | managing-directories-with-os-and-shutil | data-types | anchors-(^,-$) | factorial-function | thread-synchronization | int | postfix | polymorphism | multithreading | dictionary-methods | matrix | import-method | literal-characters-and-special-characters | matrix-list-comprehension | writing:-write(),-writelines() | built-in-function | print-statement | function-argument | test-discovery | encoding | reading:-read(),-readline(),-readlines() | match | using-the-threading-module | version-check | list-operation | quantifiers-(*,-+,-?,-{}) | syntaxerror | overflow | exception-handling | file-handling | python-syntax-and-structure | multiprocessing | zfill-function | else-statement | joining-and-merging-dataframes | operator-overloading | math | python-operators | decimal | static-method | destructor | logical-operator | list | recurssion | lambdas | pep | conditional-statements | data-type-conversions | installation | filter-function | list-methods-and-slicing | dicts | operator-or | complex-number | format | pseudocode | min-max-function | append | magic-method | sorting | error-handling | string | exception-handling | pandas | identity-operator | dictionaries | opening-files-(open()) | tuples | list-comprehensions | expand-tab | generators-in-python | list-method | lambda-functions | mapping-function | exponentiation | string-method | mutable | counter-function | zip | choice | membership-operators-(in,-not-in) | mathematics | method-overloading | logical-operator | assignment-operator | conversion | counter | while-else-loop | rollback | set-operation | key-value-pairs | inherit | while-loops | default-arguments | typeerror | function | name-mangling | global-variable | shallow-copy | turtle | docstring | multiple-inheritance | iterator | staticmethod | loop | loops | split | higher-order-function | syntax-error | syntax | sum() | command-line-parsing | list-comprehension | comparison | bitwise | method | join | working-with-file-paths | parameter | difference-between-threads-and-processes | pickling--unpickling | reading-and-writing-files | variable | data-structures-in-python | string-methods | stack | asyncio | software-design | filter | operator-and | single-inheritance | feature | id-function | round | access-modifier | file | statement | aggregating-data-with-functools.reduce() | thread-safe-data-structures-(queue.queue) | regex | version | identity-operator | yield | slice | syntax-error | generators | constructor | conditional-statement | immutable-data-type | immutability | sets | python-module | data-structure | data-structure | head-and-tail | max-min | string-slicing | datetime.date,-datetime.time,-datetime.datetime | using-else-and-finally | datetime | string-iteration | file-handling | control-statement | oop | with-statement | init | overriding-methods | while-and-for-loop | scientific-notation | iterators | namedtuple | compute | error | interpreter | condition | complex | introduction-to-multiprocessing | round-function | conditional-statement | copy | using-assertions-(assertequal,-assertraises) | operand | indexing | range | working-with-binary-files-(rb,-wb) | expression | invalid-list | descriptors | comprehension | goto-function | lists | for | dataframe-and-series-objects | string-slicing | logical-operators | creating-custom-modules | virtual-environment | integer | data-type | exception | error-handling | data_structure | raise | inheritance | precedence-and-associativity | defining-functions | handling-missing-values-(fillna,-dropna) | default-mutable-argument | type-conversion | random-function | fabs-function | keyword | creating-and-starting-threads | oops | operators | input | functions | print | intering | random | library | touples | iterable | type_conversion | deep-copy | floats | using-join()-and-is_alive()-methods | dictionary | escape-operator | precedence | introduction-to-threads | integers | set | decorator | def | regular-expressions | python_version | python-history | list-join | context-manager | raise-statement | why-use-multiprocessing-over-threading?-(gil) | odd-number | using-map()-for-transformations | sorting-and-ranking | list-indexing | math-copysign | binary | lambda-function ...