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