[{"data":1,"prerenderedAt":12516},["ShallowReactive",2],{"tutorials-python":3,"category-items-python":987,"content-/python/error-handling":988},[4,22,31,40,49,58,67,76,86,95,104,113,122,131,141,150,159,168,177,186,196,205,214,223,233,242,251,260,269,279,288,297,306,315,324,333,342,351,360,369,379,388,397,406,415,424,433,442,452,461,470,479,488,497,506,515,525,534,543,552,561,570,579,588,597,606,616,625,634,643,652,661,670,680,689,698,707,716,725,734,744,753,762,771,780,789,798,807,817,826,835,844,853,863,872,881,890,900,909,918,927,936,945,953,961,970,979],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"slug":11,"order":12,"isParent":13,"icon":14,"_type":15,"_id":16,"_source":17,"_file":18,"_stem":19,"_extension":20,"children":21,"expanded":13},"/python/getting-started","python",false,"","Getting Started","Begin your Python programming journey. Learn what Python is, how to set it up, and write your first programs. Perfect for complete beginners starting their coding adventure.","getting-started",1,true,"pi pi-folder","markdown","content:python:1.getting-started.md","content","python/1.getting-started.md","python/1.getting-started","md",[22,31,40,49,58,67],{"_path":23,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":24,"description":25,"slug":26,"parentId":5,"order":27,"_type":15,"_id":28,"_source":17,"_file":29,"_stem":30,"_extension":20},"/python/what-is-python","What is Python","Discover Python's fascinating history, design philosophy, and key features. Learn why Python has become one of the world's most popular programming languages and perfect for beginners.","what-is-python",2,"content:python:2.what-is-python.md","python/2.what-is-python.md","python/2.what-is-python",{"_path":32,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":33,"description":34,"slug":35,"parentId":5,"order":36,"_type":15,"_id":37,"_source":17,"_file":38,"_stem":39,"_extension":20},"/python/setup-python","Setup Python","Learn how to install Python on your computer and set up your development environment. Step-by-step guide for Windows, macOS, and Linux with beginner-friendly instructions.","setup-python",3,"content:python:3.setup-python.md","python/3.setup-python.md","python/3.setup-python",{"_path":41,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":42,"description":43,"slug":44,"parentId":5,"order":45,"_type":15,"_id":46,"_source":17,"_file":47,"_stem":48,"_extension":20},"/python/your-first-program","Your First Program","Write and run your first Python program! Learn the basics of Python programming with simple examples and step-by-step instructions for beginners.","your-first-program",4,"content:python:4.your-first-program.md","python/4.your-first-program.md","python/4.your-first-program",{"_path":50,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":51,"description":52,"slug":53,"parentId":5,"order":54,"_type":15,"_id":55,"_source":17,"_file":56,"_stem":57,"_extension":20},"/python/python-code-structure","Python Code Structure","Learn how Python code is organized and structured. Understand indentation, line breaks, and the basic rules that make Python programs work correctly.","python-code-structure",5,"content:python:5.python-code-structure.md","python/5.python-code-structure.md","python/5.python-code-structure",{"_path":59,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":60,"description":61,"slug":62,"parentId":5,"order":63,"_type":15,"_id":64,"_source":17,"_file":65,"_stem":66,"_extension":20},"/python/writing-comments","Writing Comments","Learn how to write effective comments in Python. Discover when and how to document your code to make it clear, maintainable, and easy to understand.","writing-comments",6,"content:python:6.writing-comments.md","python/6.writing-comments.md","python/6.writing-comments",{"_path":68,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":69,"description":70,"slug":71,"parentId":5,"order":72,"_type":15,"_id":73,"_source":17,"_file":74,"_stem":75,"_extension":20},"/python/working-with-variables","Working with Variables","Learn how to create, use, and manage variables in Python. Understand how to store data, change values, and follow naming conventions for clean, readable code.","working-with-variables",7,"content:python:7.working-with-variables.md","python/7.working-with-variables.md","python/7.working-with-variables",{"_path":77,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":78,"description":79,"slug":80,"order":81,"isParent":13,"icon":14,"_type":15,"_id":82,"_source":17,"_file":83,"_stem":84,"_extension":20,"children":85,"expanded":13},"/python/basic-data-types","Basic Data Types","Learn about Python's fundamental data types including numbers, text, and boolean values","basic-data-types",8,"content:python:8.basic-data-types.md","python/8.basic-data-types.md","python/8.basic-data-types",[86,95,104,113,122],{"_path":87,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":88,"description":89,"slug":90,"parentId":77,"order":91,"_type":15,"_id":92,"_source":17,"_file":93,"_stem":94,"_extension":20},"/python/understanding-data-types","Understanding Data Types","Learn how Python identifies different data types and why they're important for programming","understanding-data-types",9,"content:python:9.understanding-data-types.md","python/9.understanding-data-types.md","python/9.understanding-data-types",{"_path":96,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":97,"description":98,"slug":99,"parentId":77,"order":100,"_type":15,"_id":101,"_source":17,"_file":102,"_stem":103,"_extension":20},"/python/working-with-numbers","Working with Numbers","Learn about Python's numeric data types including integers and floats, and how to perform calculations","working-with-numbers",10,"content:python:10.working-with-numbers.md","python/10.working-with-numbers.md","python/10.working-with-numbers",{"_path":105,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":106,"description":107,"slug":108,"parentId":77,"order":109,"_type":15,"_id":110,"_source":17,"_file":111,"_stem":112,"_extension":20},"/python/text-and-strings","Text and Strings","Learn how to work with text data in Python using strings, including creation, manipulation, and formatting","text-and-strings",11,"content:python:11.text-and-strings.md","python/11.text-and-strings.md","python/11.text-and-strings",{"_path":114,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":115,"description":116,"slug":117,"parentId":77,"order":118,"_type":15,"_id":119,"_source":17,"_file":120,"_stem":121,"_extension":20},"/python/true-false-values","True/False Values","Learn about boolean values in Python, including True/False logic, comparison operations, and how to use booleans for decision-making in your programs","true-false-values",12,"content:python:12.true-false-values.md","python/12.true-false-values.md","python/12.true-false-values",{"_path":123,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":124,"description":125,"slug":126,"parentId":77,"order":127,"_type":15,"_id":128,"_source":17,"_file":129,"_stem":130,"_extension":20},"/python/converting-types","Converting Types","Learn how to convert between different Python data types including strings, numbers, and booleans","converting-types",13,"content:python:13.converting-types.md","python/13.converting-types.md","python/13.converting-types",{"_path":132,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":133,"description":134,"slug":135,"order":136,"isParent":13,"icon":14,"_type":15,"_id":137,"_source":17,"_file":138,"_stem":139,"_extension":20,"children":140,"expanded":13},"/python/python-operators","Python Operators","Learn about Python operators - the symbols and keywords that perform operations on data. Discover arithmetic, comparison, logical, and assignment operators with simple examples.","python-operators",14,"content:python:14.python-operators.md","python/14.python-operators.md","python/14.python-operators",[141,150,159,168,177],{"_path":142,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":143,"description":144,"slug":145,"parentId":132,"order":146,"_type":15,"_id":147,"_source":17,"_file":148,"_stem":149,"_extension":20},"/python/math-operations","Math Operations","Learn Python's arithmetic operators for mathematical calculations. Master addition, subtraction, multiplication, division, and more with practical examples.","math-operations",15,"content:python:15.math-operations.md","python/15.math-operations.md","python/15.math-operations",{"_path":151,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":152,"description":153,"slug":154,"parentId":132,"order":155,"_type":15,"_id":156,"_source":17,"_file":157,"_stem":158,"_extension":20},"/python/comparing-values","Comparing Values","Learn Python's comparison operators to compare values and make decisions. Master equality, inequality, and relational operators with practical examples.","comparing-values",16,"content:python:16.comparing-values.md","python/16.comparing-values.md","python/16.comparing-values",{"_path":160,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":161,"description":162,"slug":163,"parentId":132,"order":164,"_type":15,"_id":165,"_source":17,"_file":166,"_stem":167,"_extension":20},"/python/logic-operations","Logic Operations","Learn about Python's logical operators for combining conditions and creating complex boolean expressions","logic-operations",17,"content:python:17.logic-operations.md","python/17.logic-operations.md","python/17.logic-operations",{"_path":169,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":170,"description":171,"slug":172,"parentId":132,"order":173,"_type":15,"_id":174,"_source":17,"_file":175,"_stem":176,"_extension":20},"/python/value-assignment","Value Assignment","Learn about Python's assignment operators for efficiently updating variables and performing calculations","value-assignment",18,"content:python:18.value-assignment.md","python/18.value-assignment.md","python/18.value-assignment",{"_path":178,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":179,"description":180,"slug":181,"parentId":132,"order":182,"_type":15,"_id":183,"_source":17,"_file":184,"_stem":185,"_extension":20},"/python/operator-precedence","Operator Precedence","Learn how Python evaluates expressions with multiple operators and how to control evaluation order","operator-precedence",19,"content:python:19.operator-precedence.md","python/19.operator-precedence.md","python/19.operator-precedence",{"_path":187,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":188,"description":189,"slug":190,"order":191,"isParent":13,"icon":14,"_type":15,"_id":192,"_source":17,"_file":193,"_stem":194,"_extension":20,"children":195,"expanded":13},"/python/decision-making","Decision Making","Learn how to make decisions in your Python programs using conditional statements and control flow","decision-making",20,"content:python:20.decision-making.md","python/20.decision-making.md","python/20.decision-making",[196,205,214],{"_path":197,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":198,"description":199,"slug":200,"parentId":187,"order":201,"_type":15,"_id":202,"_source":17,"_file":203,"_stem":204,"_extension":20},"/python/if-statements","If Statements","Learn how to use if statements to make decisions and control program flow in Python","if-statements",21,"content:python:21.if-statements.md","python/21.if-statements.md","python/21.if-statements",{"_path":206,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":207,"description":208,"slug":209,"parentId":187,"order":210,"_type":15,"_id":211,"_source":17,"_file":212,"_stem":213,"_extension":20},"/python/multiple-conditions","Multiple Conditions","Learn how to handle multiple conditions using elif statements and complex conditional logic in Python","multiple-conditions",22,"content:python:22.multiple-conditions.md","python/22.multiple-conditions.md","python/22.multiple-conditions",{"_path":215,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":216,"description":217,"slug":218,"parentId":187,"order":219,"_type":15,"_id":220,"_source":17,"_file":221,"_stem":222,"_extension":20},"/python/pattern-matching","Pattern Matching","Learn how to use Python's match-case statements for powerful pattern matching and complex decision making","pattern-matching",23,"content:python:23.pattern-matching.md","python/23.pattern-matching.md","python/23.pattern-matching",{"_path":224,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":225,"description":226,"slug":227,"order":228,"isParent":13,"icon":14,"_type":15,"_id":229,"_source":17,"_file":230,"_stem":231,"_extension":20,"children":232,"expanded":13},"/python/repetition-and-loops","Python Loops","Learn how to use loops to repeat code efficiently and handle repetitive tasks in Python","repetition-and-loops",24,"content:python:24.repetition-and-loops.md","python/24.repetition-and-loops.md","python/24.repetition-and-loops",[233,242,251,260],{"_path":234,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":235,"description":236,"slug":237,"parentId":224,"order":238,"_type":15,"_id":239,"_source":17,"_file":240,"_stem":241,"_extension":20},"/python/while-loops","While Loops","Learn how to use while loops for condition-based repetition and create loops that run until specific conditions are met","while-loops",25,"content:python:25.while-loops.md","python/25.while-loops.md","python/25.while-loops",{"_path":243,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":244,"description":245,"slug":246,"parentId":224,"order":247,"_type":15,"_id":248,"_source":17,"_file":249,"_stem":250,"_extension":20},"/python/for-loops","For Loops","Learn how to use for loops to iterate through sequences, collections, and ranges efficiently in Python","for-loops",26,"content:python:26.for-loops.md","python/26.for-loops.md","python/26.for-loops",{"_path":252,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":253,"description":254,"slug":255,"parentId":224,"order":256,"_type":15,"_id":257,"_source":17,"_file":258,"_stem":259,"_extension":20},"/python/loop-control","Loop Control","Master advanced loop control techniques including break, continue, and else clauses for sophisticated iteration patterns","loop-control",27,"content:python:27.loop-control.md","python/27.loop-control.md","python/27.loop-control",{"_path":261,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":262,"description":263,"slug":264,"parentId":224,"order":265,"_type":15,"_id":266,"_source":17,"_file":267,"_stem":268,"_extension":20},"/python/nested-loops","Nested Loops","Learn how to use nested loops to process multi-dimensional data, create patterns, and handle complex iteration scenarios","nested-loops",28,"content:python:28.nested-loops.md","python/28.nested-loops.md","python/28.nested-loops",{"_path":270,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":271,"description":272,"slug":273,"order":274,"isParent":13,"icon":14,"_type":15,"_id":275,"_source":17,"_file":276,"_stem":277,"_extension":20,"children":278,"expanded":13},"/python/python-lists","Python Lists","Learn about Python lists, one of the most important and versatile data structures for storing and organizing collections of data","python-lists",29,"content:python:29.python-lists.md","python/29.python-lists.md","python/29.python-lists",[279,288,297,306,315,324,333,342,351,360],{"_path":280,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":281,"description":282,"slug":283,"parentId":270,"order":284,"_type":15,"_id":285,"_source":17,"_file":286,"_stem":287,"_extension":20},"/python/creating-lists","Creating Lists","Learn different methods to create and initialize Python lists, from simple literals to advanced techniques","creating-lists",30,"content:python:30.creating-lists.md","python/30.creating-lists.md","python/30.creating-lists",{"_path":289,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":290,"description":291,"slug":292,"parentId":270,"order":293,"_type":15,"_id":294,"_source":17,"_file":295,"_stem":296,"_extension":20},"/python/reading-list-data","Reading List Data","Master techniques for accessing and retrieving data from Python lists using indexing, slicing, and built-in methods","reading-list-data",31,"content:python:31.reading-list-data.md","python/31.reading-list-data.md","python/31.reading-list-data",{"_path":298,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":299,"description":300,"slug":301,"parentId":270,"order":302,"_type":15,"_id":303,"_source":17,"_file":304,"_stem":305,"_extension":20},"/python/modifying-lists","Modifying Lists","Learn how to change, update, and modify existing elements in Python lists using indexing and various methods","modifying-lists",32,"content:python:32.modifying-lists.md","python/32.modifying-lists.md","python/32.modifying-lists",{"_path":307,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":308,"description":309,"slug":310,"parentId":270,"order":311,"_type":15,"_id":312,"_source":17,"_file":313,"_stem":314,"_extension":20},"/python/adding-to-lists","Adding to Lists","Learn various methods to add elements to Python lists including append, insert, extend, and concatenation techniques","adding-to-lists",33,"content:python:33.adding-to-lists.md","python/33.adding-to-lists.md","python/33.adding-to-lists",{"_path":316,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":317,"description":318,"slug":319,"parentId":270,"order":320,"_type":15,"_id":321,"_source":17,"_file":322,"_stem":323,"_extension":20},"/python/removing-from-lists","Removing from Lists","Learn different methods to remove and delete elements from Python lists including remove, pop, del, and clear","removing-from-lists",34,"content:python:34.removing-from-lists.md","python/34.removing-from-lists.md","python/34.removing-from-lists",{"_path":325,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":326,"description":327,"slug":328,"parentId":270,"order":329,"_type":15,"_id":330,"_source":17,"_file":331,"_stem":332,"_extension":20},"/python/looping-through-lists","Looping Through Lists","Learn different ways to iterate through Python lists using for loops, while loops, enumerate, and other iteration techniques","looping-through-lists",35,"content:python:35.looping-through-lists.md","python/35.looping-through-lists.md","python/35.looping-through-lists",{"_path":334,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":335,"description":336,"slug":337,"parentId":270,"order":338,"_type":15,"_id":339,"_source":17,"_file":340,"_stem":341,"_extension":20},"/python/list-shortcuts","List Shortcuts","Learn powerful Python list shortcuts including list comprehensions, slicing tricks, and built-in functions for efficient list operations","list-shortcuts",36,"content:python:36.list-shortcuts.md","python/36.list-shortcuts.md","python/36.list-shortcuts",{"_path":343,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":344,"description":345,"slug":346,"parentId":270,"order":347,"_type":15,"_id":348,"_source":17,"_file":349,"_stem":350,"_extension":20},"/python/organizing-lists","Organizing Lists","Learn how to sort, reverse, and organize Python lists using built-in methods and custom sorting techniques","organizing-lists",37,"content:python:37.organizing-lists.md","python/37.organizing-lists.md","python/37.organizing-lists",{"_path":352,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":353,"description":354,"slug":355,"parentId":270,"order":356,"_type":15,"_id":357,"_source":17,"_file":358,"_stem":359,"_extension":20},"/python/combining-lists","Combining Lists","Learn various techniques to combine, merge, and join Python lists including concatenation, zipping, and advanced merging strategies","combining-lists",38,"content:python:38.combining-lists.md","python/38.combining-lists.md","python/38.combining-lists",{"_path":361,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":362,"description":363,"slug":364,"parentId":270,"order":365,"_type":15,"_id":366,"_source":17,"_file":367,"_stem":368,"_extension":20},"/python/essential-list-tools","Essential List Tools","Master powerful built-in functions and advanced techniques for efficient Python list manipulation and data processing","essential-list-tools",39,"content:python:39.essential-list-tools.md","python/39.essential-list-tools.md","python/39.essential-list-tools",{"_path":370,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":371,"description":372,"slug":373,"order":374,"isParent":13,"icon":14,"_type":15,"_id":375,"_source":17,"_file":376,"_stem":377,"_extension":20,"children":378,"expanded":13},"/python/python-tuples","Python Tuples","Master Python tuples - immutable sequences perfect for storing related data that shouldn't change. Learn creation, access, and manipulation techniques.","python-tuples",40,"content:python:40.python-tuples.md","python/40.python-tuples.md","python/40.python-tuples",[379,388,397,406,415,424,433],{"_path":380,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":381,"description":382,"slug":383,"parentId":370,"order":384,"_type":15,"_id":385,"_source":17,"_file":386,"_stem":387,"_extension":20},"/python/creating-tuples","Creating Tuples","Learn different ways to create Python tuples, from basic syntax to advanced techniques. Master tuple initialization and understand when to use tuples.","creating-tuples",41,"content:python:41.creating-tuples.md","python/41.creating-tuples.md","python/41.creating-tuples",{"_path":389,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":390,"description":391,"slug":392,"parentId":370,"order":393,"_type":15,"_id":394,"_source":17,"_file":395,"_stem":396,"_extension":20},"/python/reading-tuple-data","Reading Tuple Data","Master accessing tuple elements through indexing, slicing, and searching. Learn efficient patterns for reading and working with tuple data.","reading-tuple-data",42,"content:python:42.reading-tuple-data.md","python/42.reading-tuple-data.md","python/42.reading-tuple-data",{"_path":398,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":399,"description":400,"slug":401,"parentId":370,"order":402,"_type":15,"_id":403,"_source":17,"_file":404,"_stem":405,"_extension":20},"/python/changing-tuples","Changing Tuples","Understand tuple immutability and learn techniques for working with unchangeable data. Master creating modified tuple versions and handling immutable constraints.","changing-tuples",43,"content:python:43.changing-tuples.md","python/43.changing-tuples.md","python/43.changing-tuples",{"_path":407,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":408,"description":409,"slug":410,"parentId":370,"order":411,"_type":15,"_id":412,"_source":17,"_file":413,"_stem":414,"_extension":20},"/python/tuple-unpacking","Tuple Unpacking","Master tuple unpacking for elegant variable assignment, function returns, and data extraction. Learn Python's powerful unpacking syntax and patterns.","tuple-unpacking",44,"content:python:44.tuple-unpacking.md","python/44.tuple-unpacking.md","python/44.tuple-unpacking",{"_path":416,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":417,"description":418,"slug":419,"parentId":370,"order":420,"_type":15,"_id":421,"_source":17,"_file":422,"_stem":423,"_extension":20},"/python/iterating-tuples","Iterating Tuples","Master tuple iteration techniques for processing sequence data. Learn basic loops, enumerate, nested iteration, and advanced patterns for efficient data processing.","iterating-tuples",45,"content:python:45.iterating-tuples.md","python/45.iterating-tuples.md","python/45.iterating-tuples",{"_path":425,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":426,"description":427,"slug":428,"parentId":370,"order":429,"_type":15,"_id":430,"_source":17,"_file":431,"_stem":432,"_extension":20},"/python/merging-tuples","Merging Tuples","Learn techniques for combining and merging tuples to create larger data structures. Master concatenation, joining multiple tuples, and advanced merging patterns.","merging-tuples",46,"content:python:46.merging-tuples.md","python/46.merging-tuples.md","python/46.merging-tuples",{"_path":434,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":435,"description":436,"slug":437,"parentId":370,"order":438,"_type":15,"_id":439,"_source":17,"_file":440,"_stem":441,"_extension":20},"/python/tuple-operations","Tuple Operations","Master comprehensive tuple operations including built-in functions, mathematical operations, comparisons, and advanced techniques for efficient tuple manipulation.","tuple-operations",47,"content:python:47.tuple-operations.md","python/47.tuple-operations.md","python/47.tuple-operations",{"_path":443,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":444,"description":445,"slug":446,"order":447,"isParent":13,"icon":14,"_type":15,"_id":448,"_source":17,"_file":449,"_stem":450,"_extension":20,"children":451,"expanded":13},"/python/python-sets","Python Sets","Discover Python sets - unique collections that automatically eliminate duplicates and provide powerful mathematical operations for data filtering and analysis.","python-sets",48,"content:python:48.python-sets.md","python/48.python-sets.md","python/48.python-sets",[452,461,470,479,488,497,506],{"_path":453,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":454,"description":455,"slug":456,"parentId":443,"order":457,"_type":15,"_id":458,"_source":17,"_file":459,"_stem":460,"_extension":20},"/python/creating-sets","Creating Sets","Learn multiple ways to create sets in Python including literal syntax, set() function, and set comprehensions. Master set creation from different data sources.","creating-sets",49,"content:python:49.creating-sets.md","python/49.creating-sets.md","python/49.creating-sets",{"_path":462,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":463,"description":464,"slug":465,"parentId":443,"order":466,"_type":15,"_id":467,"_source":17,"_file":468,"_stem":469,"_extension":20},"/python/reading-set-data","Reading Set Data","Learn how to access and examine set data in Python including membership testing, iteration, size checking, and converting sets to other data types.","reading-set-data",50,"content:python:50.reading-set-data.md","python/50.reading-set-data.md","python/50.reading-set-data",{"_path":471,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":472,"description":473,"slug":474,"parentId":443,"order":475,"_type":15,"_id":476,"_source":17,"_file":477,"_stem":478,"_extension":20},"/python/adding-to-sets","Adding to Sets","Learn how to add elements to sets in Python using add(), update(), and union operations. Master growing sets dynamically with single items and multiple elements.","adding-to-sets",51,"content:python:51.adding-to-sets.md","python/51.adding-to-sets.md","python/51.adding-to-sets",{"_path":480,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":481,"description":482,"slug":483,"parentId":443,"order":484,"_type":15,"_id":485,"_source":17,"_file":486,"_stem":487,"_extension":20},"/python/removing-from-sets","Removing from Sets","Learn how to remove elements from Python sets using different methods like remove(), discard(), pop(), and clear()","removing-from-sets",52,"content:python:52.removing-from-sets.md","python/52.removing-from-sets.md","python/52.removing-from-sets",{"_path":489,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":490,"description":491,"slug":492,"parentId":443,"order":493,"_type":15,"_id":494,"_source":17,"_file":495,"_stem":496,"_extension":20},"/python/iterating-sets","Iterating Sets","Learn different ways to iterate through Python sets using for loops, comprehensions, and built-in functions","iterating-sets",53,"content:python:53.iterating-sets.md","python/53.iterating-sets.md","python/53.iterating-sets",{"_path":498,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":499,"description":500,"slug":501,"parentId":443,"order":502,"_type":15,"_id":503,"_source":17,"_file":504,"_stem":505,"_extension":20},"/python/combining-sets","Combining Sets","Learn how to combine Python sets using union, intersection, difference, and other set operations","combining-sets",54,"content:python:54.combining-sets.md","python/54.combining-sets.md","python/54.combining-sets",{"_path":507,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":508,"description":509,"slug":510,"parentId":443,"order":511,"_type":15,"_id":512,"_source":17,"_file":513,"_stem":514,"_extension":20},"/python/set-operations","Set Operations","Learn advanced Python set operations including comparisons, subsets, supersets, and mathematical set relationships","set-operations",55,"content:python:55.set-operations.md","python/55.set-operations.md","python/55.set-operations",{"_path":516,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":517,"description":518,"slug":519,"order":520,"isParent":13,"icon":14,"_type":15,"_id":521,"_source":17,"_file":522,"_stem":523,"_extension":20,"children":524,"expanded":13},"/python/python-dictionaries","Python Dictionaries","Learn about Python dictionaries - key-value data structures for storing and organizing related information","python-dictionaries",56,"content:python:56.python-dictionaries.md","python/56.python-dictionaries.md","python/56.python-dictionaries",[525,534,543,552,561,570,579,588,597],{"_path":526,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":527,"description":528,"slug":529,"parentId":516,"order":530,"_type":15,"_id":531,"_source":17,"_file":532,"_stem":533,"_extension":20},"/python/creating-dictionaries","Creating Dictionaries","Learn different methods to create Python dictionaries using literals, constructors, and comprehensions","creating-dictionaries",57,"content:python:57.creating-dictionaries.md","python/57.creating-dictionaries.md","python/57.creating-dictionaries",{"_path":535,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":536,"description":537,"slug":538,"parentId":516,"order":539,"_type":15,"_id":540,"_source":17,"_file":541,"_stem":542,"_extension":20},"/python/getting-dictionary-values","Getting Dictionary Values","Learn safe and efficient methods to retrieve data from Python dictionaries using various access techniques","getting-dictionary-values",58,"content:python:58.getting-dictionary-values.md","python/58.getting-dictionary-values.md","python/58.getting-dictionary-values",{"_path":544,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":545,"description":546,"slug":547,"parentId":516,"order":548,"_type":15,"_id":549,"_source":17,"_file":550,"_stem":551,"_extension":20},"/python/updating-dictionaries","Updating Dictionaries","Learn how to modify and maintain Python dictionary data using various update methods and techniques","updating-dictionaries",59,"content:python:59.updating-dictionaries.md","python/59.updating-dictionaries.md","python/59.updating-dictionaries",{"_path":553,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":554,"description":555,"slug":556,"parentId":516,"order":557,"_type":15,"_id":558,"_source":17,"_file":559,"_stem":560,"_extension":20},"/python/adding-dictionary-items","Adding Dictionary Items","Learn effective techniques for adding new items to Python dictionaries with various methods and best practices","adding-dictionary-items",60,"content:python:60.adding-dictionary-items.md","python/60.adding-dictionary-items.md","python/60.adding-dictionary-items",{"_path":562,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":563,"description":564,"slug":565,"parentId":516,"order":566,"_type":15,"_id":567,"_source":17,"_file":568,"_stem":569,"_extension":20},"/python/deleting-dictionary-items","Deleting Dictionary Items","Master safe and efficient techniques for removing items from Python dictionaries with various methods and error handling","deleting-dictionary-items",61,"content:python:61.deleting-dictionary-items.md","python/61.deleting-dictionary-items.md","python/61.deleting-dictionary-items",{"_path":571,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":572,"description":573,"slug":574,"parentId":516,"order":575,"_type":15,"_id":576,"_source":17,"_file":577,"_stem":578,"_extension":20},"/python/looping-dictionaries","Looping Dictionaries","Learn efficient techniques for iterating through Python dictionaries using keys, values, and items","looping-dictionaries",62,"content:python:62.looping-dictionaries.md","python/62.looping-dictionaries.md","python/62.looping-dictionaries",{"_path":580,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":581,"description":582,"slug":583,"parentId":516,"order":584,"_type":15,"_id":585,"_source":17,"_file":586,"_stem":587,"_extension":20},"/python/dictionary-copies","Dictionary Copies","Learn safe techniques for duplicating Python dictionaries using shallow and deep copy methods","dictionary-copies",63,"content:python:63.dictionary-copies.md","python/63.dictionary-copies.md","python/63.dictionary-copies",{"_path":589,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":590,"description":591,"slug":592,"parentId":516,"order":593,"_type":15,"_id":594,"_source":17,"_file":595,"_stem":596,"_extension":20},"/python/multi-level-dictionaries","Multi-level Dictionaries","Master working with nested Python dictionaries for complex data structures and hierarchical information","multi-level-dictionaries",64,"content:python:64.multi-level-dictionaries.md","python/64.multi-level-dictionaries.md","python/64.multi-level-dictionaries",{"_path":598,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":599,"description":600,"slug":601,"parentId":516,"order":602,"_type":15,"_id":603,"_source":17,"_file":604,"_stem":605,"_extension":20},"/python/dictionary-tools","Dictionary Tools","Explore powerful built-in functions and advanced techniques for efficient Python dictionary manipulation and analysis","dictionary-tools",65,"content:python:65.dictionary-tools.md","python/65.dictionary-tools.md","python/65.dictionary-tools",{"_path":607,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":608,"description":609,"slug":610,"order":611,"isParent":13,"icon":14,"_type":15,"_id":612,"_source":17,"_file":613,"_stem":614,"_extension":20,"children":615,"expanded":13},"/python/python-functions","Python Functions","Learn how to create and use Python functions to organize code into reusable, modular components that make programs more efficient and maintainable","python-functions",66,"content:python:66.python-functions.md","python/66.python-functions.md","python/66.python-functions",[616,625,634,643,652,661],{"_path":617,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":618,"description":619,"slug":620,"parentId":607,"order":621,"_type":15,"_id":622,"_source":17,"_file":623,"_stem":624,"_extension":20},"/python/function-basics","Function Basics","Learn the fundamentals of creating and using Python functions to organize code into reusable, modular components","function-basics",67,"content:python:67.function-basics.md","python/67.function-basics.md","python/67.function-basics",{"_path":626,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":627,"description":628,"slug":629,"parentId":607,"order":630,"_type":15,"_id":631,"_source":17,"_file":632,"_stem":633,"_extension":20},"/python/function-parameters","Function Parameters","Master different types of Python function parameters including positional, keyword, default, and variable-length arguments","function-parameters",68,"content:python:68.function-parameters.md","python/68.function-parameters.md","python/68.function-parameters",{"_path":635,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":636,"description":637,"slug":638,"parentId":607,"order":639,"_type":15,"_id":640,"_source":17,"_file":641,"_stem":642,"_extension":20},"/python/returning-values","Returning Values","Learn different ways Python functions return data including single values, multiple values, and conditional returns","returning-values",69,"content:python:69.returning-values.md","python/69.returning-values.md","python/69.returning-values",{"_path":644,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":645,"description":646,"slug":647,"parentId":607,"order":648,"_type":15,"_id":649,"_source":17,"_file":650,"_stem":651,"_extension":20},"/python/variable-scope","Variable Scope","Understand Python variable scope including local, global, and nonlocal variables and how they affect function behavior","variable-scope",70,"content:python:70.variable-scope.md","python/70.variable-scope.md","python/70.variable-scope",{"_path":653,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":654,"description":655,"slug":656,"parentId":607,"order":657,"_type":15,"_id":658,"_source":17,"_file":659,"_stem":660,"_extension":20},"/python/anonymous-functions","Anonymous Functions","Learn to create and use Python lambda functions for concise, inline function definitions and functional programming patterns","anonymous-functions",71,"content:python:71.anonymous-functions.md","python/71.anonymous-functions.md","python/71.anonymous-functions",{"_path":662,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":663,"description":664,"slug":665,"parentId":607,"order":666,"_type":15,"_id":667,"_source":17,"_file":668,"_stem":669,"_extension":20},"/python/function-recursion","Function Recursion","Master recursive functions in Python by learning how functions can call themselves to solve complex problems with elegant, mathematical solutions","function-recursion",72,"content:python:72.function-recursion.md","python/72.function-recursion.md","python/72.function-recursion",{"_path":671,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":672,"description":673,"slug":674,"order":675,"isParent":13,"icon":14,"_type":15,"_id":676,"_source":17,"_file":677,"_stem":678,"_extension":20,"children":679,"expanded":13},"/python/object-programming","Object Programming","Learn object-oriented programming (OOP) in Python - create classes, objects, and methods to build organized, reusable code","object-programming",73,"content:python:73.object-programming.md","python/73.object-programming.md","python/73.object-programming",[680,689,698,707,716,725],{"_path":681,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":682,"description":683,"slug":684,"parentId":671,"order":685,"_type":15,"_id":686,"_source":17,"_file":687,"_stem":688,"_extension":20},"/python/classes-and-objects","Classes and Objects","Learn to create Python classes and objects - the foundation of object-oriented programming for building reusable, organized code","classes-and-objects",74,"content:python:74.classes-and-objects.md","python/74.classes-and-objects.md","python/74.classes-and-objects",{"_path":690,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":691,"description":692,"slug":693,"parentId":671,"order":694,"_type":15,"_id":695,"_source":17,"_file":696,"_stem":697,"_extension":20},"/python/object-methods","Object Methods","Master object methods in Python - learn to define behaviors, work with parameters, and create interactive objects that respond to actions","object-methods",75,"content:python:75.object-methods.md","python/75.object-methods.md","python/75.object-methods",{"_path":699,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":700,"description":701,"slug":702,"parentId":671,"order":703,"_type":15,"_id":704,"_source":17,"_file":705,"_stem":706,"_extension":20},"/python/class-inheritance","Class Inheritance","Learn Python class inheritance - create specialized classes that build upon existing functionality while adding new features and behaviors","class-inheritance",76,"content:python:76.class-inheritance.md","python/76.class-inheritance.md","python/76.class-inheritance",{"_path":708,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":709,"description":710,"slug":711,"parentId":671,"order":712,"_type":15,"_id":713,"_source":17,"_file":714,"_stem":715,"_extension":20},"/python/method-overriding","Method Overriding","Master method overriding in Python - learn to customize inherited methods, use super(), and create specialized behaviors while maintaining inheritance benefits","method-overriding",77,"content:python:77.method-overriding.md","python/77.method-overriding.md","python/77.method-overriding",{"_path":717,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":718,"description":719,"slug":720,"parentId":671,"order":721,"_type":15,"_id":722,"_source":17,"_file":723,"_stem":724,"_extension":20},"/python/variable-visibility","Variable Visibility","Master Python variable visibility - learn public, protected, and private attributes to control access and create well-encapsulated classes","variable-visibility",78,"content:python:78.variable-visibility.md","python/78.variable-visibility.md","python/78.variable-visibility",{"_path":726,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":727,"description":728,"slug":729,"parentId":671,"order":730,"_type":15,"_id":731,"_source":17,"_file":732,"_stem":733,"_extension":20},"/python/special-methods","Special Methods","Master Python special methods (magic methods) - learn to implement __str__, __len__, __eq__ and more to make your classes work seamlessly with Python's built-in functions","special-methods",79,"content:python:79.special-methods.md","python/79.special-methods.md","python/79.special-methods",{"_path":735,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":736,"description":737,"slug":738,"order":739,"isParent":13,"icon":14,"_type":15,"_id":740,"_source":17,"_file":741,"_stem":742,"_extension":20,"children":743,"expanded":13},"/python/advanced-concepts","Advanced Concepts","Master advanced Python programming concepts - work with dates, mathematics, JSON data, pattern matching, and more sophisticated programming techniques","advanced-concepts",80,"content:python:80.advanced-concepts.md","python/80.advanced-concepts.md","python/80.advanced-concepts",[744,753,762,771,780,789,798],{"_path":745,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":746,"description":747,"slug":748,"parentId":735,"order":749,"_type":15,"_id":750,"_source":17,"_file":751,"_stem":752,"_extension":20},"/python/working-with-dates","Working with Dates","Master Python date and time handling - work with datetime objects, format dates, calculate durations, and build time-aware applications","working-with-dates",81,"content:python:81.working-with-dates.md","python/81.working-with-dates.md","python/81.working-with-dates",{"_path":754,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":755,"description":756,"slug":757,"parentId":735,"order":758,"_type":15,"_id":759,"_source":17,"_file":760,"_stem":761,"_extension":20},"/python/mathematical-operations","Mathematical Operations","Master Python mathematical computing - use math functions, perform statistical calculations, and implement scientific computing for data analysis and problem-solving","mathematical-operations",82,"content:python:82.mathematical-operations.md","python/82.mathematical-operations.md","python/82.mathematical-operations",{"_path":763,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":764,"description":765,"slug":766,"parentId":735,"order":767,"_type":15,"_id":768,"_source":17,"_file":769,"_stem":770,"_extension":20},"/python/json-data","JSON Data","Master JSON data handling in Python - serialize and deserialize data, work with APIs, manage configuration files, and exchange data between applications","json-data",83,"content:python:83.json-data.md","python/83.json-data.md","python/83.json-data",{"_path":772,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":773,"description":774,"slug":775,"parentId":735,"order":776,"_type":15,"_id":777,"_source":17,"_file":778,"_stem":779,"_extension":20},"/python/package-management","Package Management","Master Python package management with pip and virtual environments - install libraries, manage dependencies, create isolated environments, and distribute packages professionally","package-management",85,"content:python:85.package-management.md","python/85.package-management.md","python/85.package-management",{"_path":781,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":782,"description":783,"slug":784,"parentId":735,"order":785,"_type":15,"_id":786,"_source":17,"_file":787,"_stem":788,"_extension":20},"/python/error-handling","Error Handling","Master Python error handling with try/except blocks, exception types, custom exceptions, debugging techniques, and best practices for robust application development","error-handling",86,"content:python:86.error-handling.md","python/86.error-handling.md","python/86.error-handling",{"_path":790,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":791,"description":792,"slug":793,"parentId":735,"order":794,"_type":15,"_id":795,"_source":17,"_file":796,"_stem":797,"_extension":20},"/python/getting-user-input","Getting User Input","Master user input handling in Python with input validation, data type conversion, interactive programs, and command-line interfaces for engaging user experiences","getting-user-input",87,"content:python:87.getting-user-input.md","python/87.getting-user-input.md","python/87.getting-user-input",{"_path":799,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":800,"description":801,"slug":802,"parentId":735,"order":803,"_type":15,"_id":804,"_source":17,"_file":805,"_stem":806,"_extension":20},"/python/text-formatting","Text Formatting","Master Python text formatting with f-strings, format methods, alignment, number formatting, and advanced techniques for professional, readable output","text-formatting",88,"content:python:88.text-formatting.md","python/88.text-formatting.md","python/88.text-formatting",{"_path":808,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":809,"description":810,"slug":811,"order":812,"isParent":13,"icon":14,"_type":15,"_id":813,"_source":17,"_file":814,"_stem":815,"_extension":20,"children":816},"/python/file-operations","File Operations","Master Python file handling with reading, writing, and managing files for data persistence and real-world applications","file-operations",89,"content:python:89.file-operations.md","python/89.file-operations.md","python/89.file-operations",[817,826,835,844],{"_path":818,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":819,"description":820,"slug":821,"parentId":808,"order":822,"_type":15,"_id":823,"_source":17,"_file":824,"_stem":825,"_extension":20},"/python/file-basics","File Basics","Learn fundamental Python file operations including opening files, understanding file modes, using context managers, and basic file handling concepts","file-basics",90,"content:python:90.file-basics.md","python/90.file-basics.md","python/90.file-basics",{"_path":827,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":828,"description":829,"slug":830,"parentId":808,"order":831,"_type":15,"_id":832,"_source":17,"_file":833,"_stem":834,"_extension":20},"/python/reading-files","Reading Files","Master Python file reading techniques including reading entire files, line-by-line processing, and handling different file formats for efficient data processing","reading-files",91,"content:python:91.reading-files.md","python/91.reading-files.md","python/91.reading-files",{"_path":836,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":837,"description":838,"slug":839,"parentId":808,"order":840,"_type":15,"_id":841,"_source":17,"_file":842,"_stem":843,"_extension":20},"/python/writing-files","Writing Files","Learn Python file writing techniques including creating new files, appending content, updating existing files, and saving different data formats safely","writing-files",92,"content:python:92.writing-files.md","python/92.writing-files.md","python/92.writing-files",{"_path":845,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":846,"description":847,"slug":848,"parentId":808,"order":849,"_type":15,"_id":850,"_source":17,"_file":851,"_stem":852,"_extension":20},"/python/file-management","File Management","Learn Python file management techniques including checking file properties, organizing files, directory operations, and implementing file system maintenance tasks","file-management",93,"content:python:93.file-management.md","python/93.file-management.md","python/93.file-management",{"_path":854,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":855,"description":856,"slug":857,"order":858,"isParent":13,"icon":14,"_type":15,"_id":859,"_source":17,"_file":860,"_stem":861,"_extension":20,"children":862},"/python/code-organization","Code Organization","Master Python code organization with modules, built-in libraries, and path management for creating maintainable and reusable applications","code-organization",94,"content:python:94.code-organization.md","python/94.code-organization.md","python/94.code-organization",[863,872,881],{"_path":864,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":865,"description":866,"slug":867,"parentId":854,"order":868,"_type":15,"_id":869,"_source":17,"_file":870,"_stem":871,"_extension":20},"/python/creating-modules","Creating Modules","Learn how to create custom Python modules, organize functions and classes, write reusable code components, and design effective module structures","creating-modules",95,"content:python:95.creating-modules.md","python/95.creating-modules.md","python/95.creating-modules",{"_path":873,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":874,"description":875,"slug":876,"parentId":854,"order":877,"_type":15,"_id":878,"_source":17,"_file":879,"_stem":880,"_extension":20},"/python/using-built-in-modules","Using Built-in Modules","Discover Python's extensive standard library and learn to effectively use built-in modules for common programming tasks, data processing, and system operations","using-built-in-modules",96,"content:python:96.using-built-in-modules.md","python/96.using-built-in-modules.md","python/96.using-built-in-modules",{"_path":882,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":883,"description":884,"slug":885,"parentId":854,"order":886,"_type":15,"_id":887,"_source":17,"_file":888,"_stem":889,"_extension":20},"/python/module-paths","Module Paths","Understand Python's module search system, manage import paths, work with packages, and organize larger projects with proper module path management","module-paths",97,"content:python:97.module-paths.md","python/97.module-paths.md","python/97.module-paths",{"_path":891,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":892,"description":893,"slug":894,"order":895,"isParent":13,"icon":14,"_type":15,"_id":896,"_source":17,"_file":897,"_stem":898,"_extension":20,"children":899,"expanded":13},"/python/reference-materials","Reference Materials","Comprehensive Python reference materials including reserved words, built-in functions, and operation guides for quick lookup and development support","reference-materials",98,"content:python:98.reference-materials.md","python/98.reference-materials.md","python/98.reference-materials",[900,909,918,927,936,945,953,961,970],{"_path":901,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":902,"description":903,"slug":904,"parentId":891,"order":905,"_type":15,"_id":906,"_source":17,"_file":907,"_stem":908,"_extension":20},"/python/reserved-words","Reserved Words","Complete reference of Python keywords and reserved words with descriptions, usage examples, and syntax guidelines","reserved-words",99,"content:python:99.reserved-words.md","python/99.reserved-words.md","python/99.reserved-words",{"_path":910,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":911,"description":912,"slug":913,"parentId":891,"order":914,"_type":15,"_id":915,"_source":17,"_file":916,"_stem":917,"_extension":20},"/python/built-in-functions","Built-in Functions","Comprehensive reference of Python's built-in functions with parameters, return values, and practical usage examples","built-in-functions",100,"content:python:100.built-in-functions.md","python/100.built-in-functions.md","python/100.built-in-functions",{"_path":919,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":920,"description":921,"slug":922,"parentId":891,"order":923,"_type":15,"_id":924,"_source":17,"_file":925,"_stem":926,"_extension":20},"/python/string-operations","String Operations","Complete reference of Python string methods, operations, and formatting techniques with examples and use cases","string-operations",101,"content:python:101.string-operations.md","python/101.string-operations.md","python/101.string-operations",{"_path":928,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":929,"description":930,"slug":931,"parentId":891,"order":932,"_type":15,"_id":933,"_source":17,"_file":934,"_stem":935,"_extension":20},"/python/list-operations","List Operations","Complete reference of Python list methods, operations, and manipulation techniques with examples and performance notes","list-operations",102,"content:python:102.list-operations.md","python/102.list-operations.md","python/102.list-operations",{"_path":937,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":938,"description":939,"slug":940,"parentId":891,"order":941,"_type":15,"_id":942,"_source":17,"_file":943,"_stem":944,"_extension":20},"/python/dictionary-operations","Dictionary Operations","Complete reference of Python dictionary methods, operations, and manipulation techniques with examples and use cases","dictionary-operations",103,"content:python:103.dictionary-operations.md","python/103.dictionary-operations.md","python/103.dictionary-operations",{"_path":946,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":435,"description":947,"slug":948,"parentId":891,"order":949,"_type":15,"_id":950,"_source":17,"_file":951,"_stem":952,"_extension":20},"/python/tuple-methods","Complete reference of Python tuple operations, methods, and techniques with examples and use cases","tuple-methods",104,"content:python:104.tuple-methods.md","python/104.tuple-methods.md","python/104.tuple-methods",{"_path":954,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":508,"description":955,"slug":956,"parentId":891,"order":957,"_type":15,"_id":958,"_source":17,"_file":959,"_stem":960,"_extension":20},"/python/set-methods","Complete reference of Python set operations, methods, and mathematical set operations with examples and use cases","set-methods",105,"content:python:105.set-methods.md","python/105.set-methods.md","python/105.set-methods",{"_path":962,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":963,"description":964,"slug":965,"parentId":891,"order":966,"_type":15,"_id":967,"_source":17,"_file":968,"_stem":969,"_extension":20},"/python/file-operations-reference","File Operations Reference","Complete reference of Python file operations, modes, methods, and file handling techniques with examples","file-operations-reference",106,"content:python:106.file-operations-reference.md","python/106.file-operations-reference.md","python/106.file-operations-reference",{"_path":971,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":972,"description":973,"slug":974,"parentId":891,"order":975,"_type":15,"_id":976,"_source":17,"_file":977,"_stem":978,"_extension":20},"/python/error-types","Error Types","Complete reference of Python exception types, error handling patterns, and debugging techniques with examples","error-types",107,"content:python:107.error-types.md","python/107.error-types.md","python/107.error-types",{"_path":980,"_dir":8,"_draft":7,"_partial":7,"_locale":8,"title":981,"description":10,"slug":982,"order":983,"icon":14,"_type":15,"_id":984,"_source":17,"_file":985,"_stem":986,"_extension":20},"/python","Introduction","python-tutorial",0,"content:python:index.md","python/index.md","python/index",[780],{"_path":781,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":782,"description":783,"slug":784,"parentId":735,"order":785,"body":989,"_type":15,"_id":786,"_source":17,"_file":787,"_stem":788,"_extension":20},{"type":990,"children":991,"toc":12494},"root",[992,1001,1007,1012,1647,1654,1659,1922,1929,1934,2728,2734,2739,3755,3761,3767,3772,4358,4364,4369,5704,5710,5716,5721,7428,7434,7439,8527,8533,8539,8544,10441,10571,10577,10582,10868,10873,11454,11460,12435,12448,12454,12459,12466,12472,12477,12488],{"type":993,"tag":994,"props":995,"children":997},"element","h1",{"id":996},"️-error-handling",[998],{"type":999,"value":1000},"text","🛡️ Error Handling",{"type":993,"tag":1002,"props":1003,"children":1004},"p",{},[1005],{"type":999,"value":1006},"Error handling in Python allows your programs to gracefully manage unexpected situations and continue running instead of crashing. Using try/except blocks, you can catch errors, provide helpful feedback to users, and maintain application stability even when things go wrong.",{"type":993,"tag":1002,"props":1008,"children":1009},{},[1010],{"type":999,"value":1011},"Think of error handling as your program's safety net - it catches problems before they crash your application and provides meaningful responses that help users understand what happened and how to fix it.",{"type":993,"tag":1013,"props":1014,"children":1015},"code-try",{},[1016],{"type":993,"tag":1017,"props":1018,"children":1021},"pre",{"className":1019,"code":1020,"language":6,"meta":8,"style":8},"language-python shiki shiki-themes github-light github-dark","# Basic try-except structure\ndef safe_divide(a, b):\n    try:\n        result = a / b\n        return result\n    except ZeroDivisionError:\n        return \"Error: Cannot divide by zero\"\n    except TypeError:\n        return \"Error: Please provide numbers only\"\n\n# Multiple exception handling\ndef safe_file_operation(filename):\n    try:\n        with open(filename, 'r') as file:\n            content = file.read()\n            return len(content)\n    except FileNotFoundError:\n        print(f\"File '{filename}' not found\")\n    except PermissionError:\n        print(f\"Permission denied accessing '{filename}'\")\n    except Exception as e:\n        print(f\"Unexpected error: {e}\")\n    return None\n\n# Testing error handling\nprint(safe_divide(10, 2))    # Returns 5.0\nprint(safe_divide(10, 0))    # Returns error message\nprint(safe_divide(\"10\", 2))  # Returns error message\n\nresult = safe_file_operation(\"nonexistent.txt\")\n",[1022],{"type":993,"tag":1023,"props":1024,"children":1025},"code",{"__ignoreMap":8},[1026,1037,1058,1071,1099,1112,1130,1143,1159,1171,1179,1187,1204,1215,1258,1279,1297,1313,1361,1377,1418,1440,1482,1495,1502,1510,1548,1581,1614,1621],{"type":993,"tag":1027,"props":1028,"children":1030},"span",{"class":1029,"line":12},"line",[1031],{"type":993,"tag":1027,"props":1032,"children":1034},{"style":1033},"--shiki-default:#6A737D;--shiki-app-dark-mode:#6A737D",[1035],{"type":999,"value":1036},"# Basic try-except structure\n",{"type":993,"tag":1027,"props":1038,"children":1039},{"class":1029,"line":27},[1040,1046,1052],{"type":993,"tag":1027,"props":1041,"children":1043},{"style":1042},"--shiki-default:#D73A49;--shiki-app-dark-mode:#F97583",[1044],{"type":999,"value":1045},"def",{"type":993,"tag":1027,"props":1047,"children":1049},{"style":1048},"--shiki-default:#6F42C1;--shiki-app-dark-mode:#B392F0",[1050],{"type":999,"value":1051}," safe_divide",{"type":993,"tag":1027,"props":1053,"children":1055},{"style":1054},"--shiki-default:#24292E;--shiki-app-dark-mode:#E1E4E8",[1056],{"type":999,"value":1057},"(a, b):\n",{"type":993,"tag":1027,"props":1059,"children":1060},{"class":1029,"line":36},[1061,1066],{"type":993,"tag":1027,"props":1062,"children":1063},{"style":1042},[1064],{"type":999,"value":1065},"    try",{"type":993,"tag":1027,"props":1067,"children":1068},{"style":1054},[1069],{"type":999,"value":1070},":\n",{"type":993,"tag":1027,"props":1072,"children":1073},{"class":1029,"line":45},[1074,1079,1084,1089,1094],{"type":993,"tag":1027,"props":1075,"children":1076},{"style":1054},[1077],{"type":999,"value":1078},"        result ",{"type":993,"tag":1027,"props":1080,"children":1081},{"style":1042},[1082],{"type":999,"value":1083},"=",{"type":993,"tag":1027,"props":1085,"children":1086},{"style":1054},[1087],{"type":999,"value":1088}," a ",{"type":993,"tag":1027,"props":1090,"children":1091},{"style":1042},[1092],{"type":999,"value":1093},"/",{"type":993,"tag":1027,"props":1095,"children":1096},{"style":1054},[1097],{"type":999,"value":1098}," b\n",{"type":993,"tag":1027,"props":1100,"children":1101},{"class":1029,"line":54},[1102,1107],{"type":993,"tag":1027,"props":1103,"children":1104},{"style":1042},[1105],{"type":999,"value":1106},"        return",{"type":993,"tag":1027,"props":1108,"children":1109},{"style":1054},[1110],{"type":999,"value":1111}," result\n",{"type":993,"tag":1027,"props":1113,"children":1114},{"class":1029,"line":63},[1115,1120,1126],{"type":993,"tag":1027,"props":1116,"children":1117},{"style":1042},[1118],{"type":999,"value":1119},"    except",{"type":993,"tag":1027,"props":1121,"children":1123},{"style":1122},"--shiki-default:#005CC5;--shiki-app-dark-mode:#79B8FF",[1124],{"type":999,"value":1125}," ZeroDivisionError",{"type":993,"tag":1027,"props":1127,"children":1128},{"style":1054},[1129],{"type":999,"value":1070},{"type":993,"tag":1027,"props":1131,"children":1132},{"class":1029,"line":72},[1133,1137],{"type":993,"tag":1027,"props":1134,"children":1135},{"style":1042},[1136],{"type":999,"value":1106},{"type":993,"tag":1027,"props":1138,"children":1140},{"style":1139},"--shiki-default:#032F62;--shiki-app-dark-mode:#9ECBFF",[1141],{"type":999,"value":1142}," \"Error: Cannot divide by zero\"\n",{"type":993,"tag":1027,"props":1144,"children":1145},{"class":1029,"line":81},[1146,1150,1155],{"type":993,"tag":1027,"props":1147,"children":1148},{"style":1042},[1149],{"type":999,"value":1119},{"type":993,"tag":1027,"props":1151,"children":1152},{"style":1122},[1153],{"type":999,"value":1154}," TypeError",{"type":993,"tag":1027,"props":1156,"children":1157},{"style":1054},[1158],{"type":999,"value":1070},{"type":993,"tag":1027,"props":1160,"children":1161},{"class":1029,"line":91},[1162,1166],{"type":993,"tag":1027,"props":1163,"children":1164},{"style":1042},[1165],{"type":999,"value":1106},{"type":993,"tag":1027,"props":1167,"children":1168},{"style":1139},[1169],{"type":999,"value":1170}," \"Error: Please provide numbers only\"\n",{"type":993,"tag":1027,"props":1172,"children":1173},{"class":1029,"line":100},[1174],{"type":993,"tag":1027,"props":1175,"children":1176},{"emptyLinePlaceholder":13},[1177],{"type":999,"value":1178},"\n",{"type":993,"tag":1027,"props":1180,"children":1181},{"class":1029,"line":109},[1182],{"type":993,"tag":1027,"props":1183,"children":1184},{"style":1033},[1185],{"type":999,"value":1186},"# Multiple exception handling\n",{"type":993,"tag":1027,"props":1188,"children":1189},{"class":1029,"line":118},[1190,1194,1199],{"type":993,"tag":1027,"props":1191,"children":1192},{"style":1042},[1193],{"type":999,"value":1045},{"type":993,"tag":1027,"props":1195,"children":1196},{"style":1048},[1197],{"type":999,"value":1198}," safe_file_operation",{"type":993,"tag":1027,"props":1200,"children":1201},{"style":1054},[1202],{"type":999,"value":1203},"(filename):\n",{"type":993,"tag":1027,"props":1205,"children":1206},{"class":1029,"line":127},[1207,1211],{"type":993,"tag":1027,"props":1208,"children":1209},{"style":1042},[1210],{"type":999,"value":1065},{"type":993,"tag":1027,"props":1212,"children":1213},{"style":1054},[1214],{"type":999,"value":1070},{"type":993,"tag":1027,"props":1216,"children":1217},{"class":1029,"line":136},[1218,1223,1228,1233,1238,1243,1248,1254],{"type":993,"tag":1027,"props":1219,"children":1220},{"style":1042},[1221],{"type":999,"value":1222},"        with",{"type":993,"tag":1027,"props":1224,"children":1225},{"style":1122},[1226],{"type":999,"value":1227}," open",{"type":993,"tag":1027,"props":1229,"children":1230},{"style":1054},[1231],{"type":999,"value":1232},"(filename, ",{"type":993,"tag":1027,"props":1234,"children":1235},{"style":1139},[1236],{"type":999,"value":1237},"'r'",{"type":993,"tag":1027,"props":1239,"children":1240},{"style":1054},[1241],{"type":999,"value":1242},") ",{"type":993,"tag":1027,"props":1244,"children":1245},{"style":1042},[1246],{"type":999,"value":1247},"as",{"type":993,"tag":1027,"props":1249,"children":1251},{"style":1250},"--shiki-default:#E36209;--shiki-app-dark-mode:#FFAB70",[1252],{"type":999,"value":1253}," file",{"type":993,"tag":1027,"props":1255,"children":1256},{"style":1054},[1257],{"type":999,"value":1070},{"type":993,"tag":1027,"props":1259,"children":1260},{"class":1029,"line":146},[1261,1266,1270,1274],{"type":993,"tag":1027,"props":1262,"children":1263},{"style":1054},[1264],{"type":999,"value":1265},"            content ",{"type":993,"tag":1027,"props":1267,"children":1268},{"style":1042},[1269],{"type":999,"value":1083},{"type":993,"tag":1027,"props":1271,"children":1272},{"style":1250},[1273],{"type":999,"value":1253},{"type":993,"tag":1027,"props":1275,"children":1276},{"style":1054},[1277],{"type":999,"value":1278},".read()\n",{"type":993,"tag":1027,"props":1280,"children":1281},{"class":1029,"line":155},[1282,1287,1292],{"type":993,"tag":1027,"props":1283,"children":1284},{"style":1042},[1285],{"type":999,"value":1286},"            return",{"type":993,"tag":1027,"props":1288,"children":1289},{"style":1122},[1290],{"type":999,"value":1291}," len",{"type":993,"tag":1027,"props":1293,"children":1294},{"style":1054},[1295],{"type":999,"value":1296},"(content)\n",{"type":993,"tag":1027,"props":1298,"children":1299},{"class":1029,"line":164},[1300,1304,1309],{"type":993,"tag":1027,"props":1301,"children":1302},{"style":1042},[1303],{"type":999,"value":1119},{"type":993,"tag":1027,"props":1305,"children":1306},{"style":1122},[1307],{"type":999,"value":1308}," FileNotFoundError",{"type":993,"tag":1027,"props":1310,"children":1311},{"style":1054},[1312],{"type":999,"value":1070},{"type":993,"tag":1027,"props":1314,"children":1315},{"class":1029,"line":173},[1316,1321,1326,1331,1336,1341,1346,1351,1356],{"type":993,"tag":1027,"props":1317,"children":1318},{"style":1122},[1319],{"type":999,"value":1320},"        print",{"type":993,"tag":1027,"props":1322,"children":1323},{"style":1054},[1324],{"type":999,"value":1325},"(",{"type":993,"tag":1027,"props":1327,"children":1328},{"style":1042},[1329],{"type":999,"value":1330},"f",{"type":993,"tag":1027,"props":1332,"children":1333},{"style":1139},[1334],{"type":999,"value":1335},"\"File '",{"type":993,"tag":1027,"props":1337,"children":1338},{"style":1122},[1339],{"type":999,"value":1340},"{",{"type":993,"tag":1027,"props":1342,"children":1343},{"style":1054},[1344],{"type":999,"value":1345},"filename",{"type":993,"tag":1027,"props":1347,"children":1348},{"style":1122},[1349],{"type":999,"value":1350},"}",{"type":993,"tag":1027,"props":1352,"children":1353},{"style":1139},[1354],{"type":999,"value":1355},"' not found\"",{"type":993,"tag":1027,"props":1357,"children":1358},{"style":1054},[1359],{"type":999,"value":1360},")\n",{"type":993,"tag":1027,"props":1362,"children":1363},{"class":1029,"line":182},[1364,1368,1373],{"type":993,"tag":1027,"props":1365,"children":1366},{"style":1042},[1367],{"type":999,"value":1119},{"type":993,"tag":1027,"props":1369,"children":1370},{"style":1122},[1371],{"type":999,"value":1372}," PermissionError",{"type":993,"tag":1027,"props":1374,"children":1375},{"style":1054},[1376],{"type":999,"value":1070},{"type":993,"tag":1027,"props":1378,"children":1379},{"class":1029,"line":191},[1380,1384,1388,1392,1397,1401,1405,1409,1414],{"type":993,"tag":1027,"props":1381,"children":1382},{"style":1122},[1383],{"type":999,"value":1320},{"type":993,"tag":1027,"props":1385,"children":1386},{"style":1054},[1387],{"type":999,"value":1325},{"type":993,"tag":1027,"props":1389,"children":1390},{"style":1042},[1391],{"type":999,"value":1330},{"type":993,"tag":1027,"props":1393,"children":1394},{"style":1139},[1395],{"type":999,"value":1396},"\"Permission denied accessing '",{"type":993,"tag":1027,"props":1398,"children":1399},{"style":1122},[1400],{"type":999,"value":1340},{"type":993,"tag":1027,"props":1402,"children":1403},{"style":1054},[1404],{"type":999,"value":1345},{"type":993,"tag":1027,"props":1406,"children":1407},{"style":1122},[1408],{"type":999,"value":1350},{"type":993,"tag":1027,"props":1410,"children":1411},{"style":1139},[1412],{"type":999,"value":1413},"'\"",{"type":993,"tag":1027,"props":1415,"children":1416},{"style":1054},[1417],{"type":999,"value":1360},{"type":993,"tag":1027,"props":1419,"children":1420},{"class":1029,"line":201},[1421,1425,1430,1435],{"type":993,"tag":1027,"props":1422,"children":1423},{"style":1042},[1424],{"type":999,"value":1119},{"type":993,"tag":1027,"props":1426,"children":1427},{"style":1122},[1428],{"type":999,"value":1429}," Exception",{"type":993,"tag":1027,"props":1431,"children":1432},{"style":1042},[1433],{"type":999,"value":1434}," as",{"type":993,"tag":1027,"props":1436,"children":1437},{"style":1054},[1438],{"type":999,"value":1439}," e:\n",{"type":993,"tag":1027,"props":1441,"children":1442},{"class":1029,"line":210},[1443,1447,1451,1455,1460,1464,1469,1473,1478],{"type":993,"tag":1027,"props":1444,"children":1445},{"style":1122},[1446],{"type":999,"value":1320},{"type":993,"tag":1027,"props":1448,"children":1449},{"style":1054},[1450],{"type":999,"value":1325},{"type":993,"tag":1027,"props":1452,"children":1453},{"style":1042},[1454],{"type":999,"value":1330},{"type":993,"tag":1027,"props":1456,"children":1457},{"style":1139},[1458],{"type":999,"value":1459},"\"Unexpected error: ",{"type":993,"tag":1027,"props":1461,"children":1462},{"style":1122},[1463],{"type":999,"value":1340},{"type":993,"tag":1027,"props":1465,"children":1466},{"style":1054},[1467],{"type":999,"value":1468},"e",{"type":993,"tag":1027,"props":1470,"children":1471},{"style":1122},[1472],{"type":999,"value":1350},{"type":993,"tag":1027,"props":1474,"children":1475},{"style":1139},[1476],{"type":999,"value":1477},"\"",{"type":993,"tag":1027,"props":1479,"children":1480},{"style":1054},[1481],{"type":999,"value":1360},{"type":993,"tag":1027,"props":1483,"children":1484},{"class":1029,"line":219},[1485,1490],{"type":993,"tag":1027,"props":1486,"children":1487},{"style":1042},[1488],{"type":999,"value":1489},"    return",{"type":993,"tag":1027,"props":1491,"children":1492},{"style":1122},[1493],{"type":999,"value":1494}," None\n",{"type":993,"tag":1027,"props":1496,"children":1497},{"class":1029,"line":228},[1498],{"type":993,"tag":1027,"props":1499,"children":1500},{"emptyLinePlaceholder":13},[1501],{"type":999,"value":1178},{"type":993,"tag":1027,"props":1503,"children":1504},{"class":1029,"line":238},[1505],{"type":993,"tag":1027,"props":1506,"children":1507},{"style":1033},[1508],{"type":999,"value":1509},"# Testing error handling\n",{"type":993,"tag":1027,"props":1511,"children":1512},{"class":1029,"line":247},[1513,1518,1523,1528,1533,1538,1543],{"type":993,"tag":1027,"props":1514,"children":1515},{"style":1122},[1516],{"type":999,"value":1517},"print",{"type":993,"tag":1027,"props":1519,"children":1520},{"style":1054},[1521],{"type":999,"value":1522},"(safe_divide(",{"type":993,"tag":1027,"props":1524,"children":1525},{"style":1122},[1526],{"type":999,"value":1527},"10",{"type":993,"tag":1027,"props":1529,"children":1530},{"style":1054},[1531],{"type":999,"value":1532},", ",{"type":993,"tag":1027,"props":1534,"children":1535},{"style":1122},[1536],{"type":999,"value":1537},"2",{"type":993,"tag":1027,"props":1539,"children":1540},{"style":1054},[1541],{"type":999,"value":1542},"))    ",{"type":993,"tag":1027,"props":1544,"children":1545},{"style":1033},[1546],{"type":999,"value":1547},"# Returns 5.0\n",{"type":993,"tag":1027,"props":1549,"children":1550},{"class":1029,"line":256},[1551,1555,1559,1563,1567,1572,1576],{"type":993,"tag":1027,"props":1552,"children":1553},{"style":1122},[1554],{"type":999,"value":1517},{"type":993,"tag":1027,"props":1556,"children":1557},{"style":1054},[1558],{"type":999,"value":1522},{"type":993,"tag":1027,"props":1560,"children":1561},{"style":1122},[1562],{"type":999,"value":1527},{"type":993,"tag":1027,"props":1564,"children":1565},{"style":1054},[1566],{"type":999,"value":1532},{"type":993,"tag":1027,"props":1568,"children":1569},{"style":1122},[1570],{"type":999,"value":1571},"0",{"type":993,"tag":1027,"props":1573,"children":1574},{"style":1054},[1575],{"type":999,"value":1542},{"type":993,"tag":1027,"props":1577,"children":1578},{"style":1033},[1579],{"type":999,"value":1580},"# Returns error message\n",{"type":993,"tag":1027,"props":1582,"children":1583},{"class":1029,"line":265},[1584,1588,1592,1597,1601,1605,1610],{"type":993,"tag":1027,"props":1585,"children":1586},{"style":1122},[1587],{"type":999,"value":1517},{"type":993,"tag":1027,"props":1589,"children":1590},{"style":1054},[1591],{"type":999,"value":1522},{"type":993,"tag":1027,"props":1593,"children":1594},{"style":1139},[1595],{"type":999,"value":1596},"\"10\"",{"type":993,"tag":1027,"props":1598,"children":1599},{"style":1054},[1600],{"type":999,"value":1532},{"type":993,"tag":1027,"props":1602,"children":1603},{"style":1122},[1604],{"type":999,"value":1537},{"type":993,"tag":1027,"props":1606,"children":1607},{"style":1054},[1608],{"type":999,"value":1609},"))  ",{"type":993,"tag":1027,"props":1611,"children":1612},{"style":1033},[1613],{"type":999,"value":1580},{"type":993,"tag":1027,"props":1615,"children":1616},{"class":1029,"line":274},[1617],{"type":993,"tag":1027,"props":1618,"children":1619},{"emptyLinePlaceholder":13},[1620],{"type":999,"value":1178},{"type":993,"tag":1027,"props":1622,"children":1623},{"class":1029,"line":284},[1624,1629,1633,1638,1643],{"type":993,"tag":1027,"props":1625,"children":1626},{"style":1054},[1627],{"type":999,"value":1628},"result ",{"type":993,"tag":1027,"props":1630,"children":1631},{"style":1042},[1632],{"type":999,"value":1083},{"type":993,"tag":1027,"props":1634,"children":1635},{"style":1054},[1636],{"type":999,"value":1637}," safe_file_operation(",{"type":993,"tag":1027,"props":1639,"children":1640},{"style":1139},[1641],{"type":999,"value":1642},"\"nonexistent.txt\"",{"type":993,"tag":1027,"props":1644,"children":1645},{"style":1054},[1646],{"type":999,"value":1360},{"type":993,"tag":1648,"props":1649,"children":1651},"h2",{"id":1650},"understanding-python-exceptions",[1652],{"type":999,"value":1653},"🎯 Understanding Python Exceptions",{"type":993,"tag":1002,"props":1655,"children":1656},{},[1657],{"type":999,"value":1658},"Python's exception hierarchy provides systematic error categorization that enables precise error handling and debugging strategies.",{"type":993,"tag":1660,"props":1661,"children":1665},"info-box",{"emoji":1662,"title":1663,"type":1664},"📋","Exception Hierarchy and Common Types","info",[1666,1675,1683,1718,1726,1769,1777,1820,1828,1861,1869],{"type":993,"tag":1002,"props":1667,"children":1668},{},[1669],{"type":993,"tag":1670,"props":1671,"children":1672},"strong",{},[1673],{"type":999,"value":1674},"Built-in Exception Categories:",{"type":993,"tag":1002,"props":1676,"children":1677},{},[1678],{"type":993,"tag":1670,"props":1679,"children":1680},{},[1681],{"type":999,"value":1682},"System Errors:",{"type":993,"tag":1684,"props":1685,"children":1686},"ul",{},[1687,1698,1708],{"type":993,"tag":1688,"props":1689,"children":1690},"li",{},[1691,1696],{"type":993,"tag":1670,"props":1692,"children":1693},{},[1694],{"type":999,"value":1695},"SystemExit",{"type":999,"value":1697},": Raised by sys.exit() function",{"type":993,"tag":1688,"props":1699,"children":1700},{},[1701,1706],{"type":993,"tag":1670,"props":1702,"children":1703},{},[1704],{"type":999,"value":1705},"KeyboardInterrupt",{"type":999,"value":1707},": User interruption (Ctrl+C)",{"type":993,"tag":1688,"props":1709,"children":1710},{},[1711,1716],{"type":993,"tag":1670,"props":1712,"children":1713},{},[1714],{"type":999,"value":1715},"GeneratorExit",{"type":999,"value":1717},": Generator closing errors",{"type":993,"tag":1002,"props":1719,"children":1720},{},[1721],{"type":993,"tag":1670,"props":1722,"children":1723},{},[1724],{"type":999,"value":1725},"Logic Errors:",{"type":993,"tag":1684,"props":1727,"children":1728},{},[1729,1739,1749,1759],{"type":993,"tag":1688,"props":1730,"children":1731},{},[1732,1737],{"type":993,"tag":1670,"props":1733,"children":1734},{},[1735],{"type":999,"value":1736},"AttributeError",{"type":999,"value":1738},": Invalid attribute access",{"type":993,"tag":1688,"props":1740,"children":1741},{},[1742,1747],{"type":993,"tag":1670,"props":1743,"children":1744},{},[1745],{"type":999,"value":1746},"NameError",{"type":999,"value":1748},": Undefined variable reference",{"type":993,"tag":1688,"props":1750,"children":1751},{},[1752,1757],{"type":993,"tag":1670,"props":1753,"children":1754},{},[1755],{"type":999,"value":1756},"TypeError",{"type":999,"value":1758},": Wrong data type operations",{"type":993,"tag":1688,"props":1760,"children":1761},{},[1762,1767],{"type":993,"tag":1670,"props":1763,"children":1764},{},[1765],{"type":999,"value":1766},"ValueError",{"type":999,"value":1768},": Wrong value for correct type",{"type":993,"tag":1002,"props":1770,"children":1771},{},[1772],{"type":993,"tag":1670,"props":1773,"children":1774},{},[1775],{"type":999,"value":1776},"Runtime Errors:",{"type":993,"tag":1684,"props":1778,"children":1779},{},[1780,1790,1800,1810],{"type":993,"tag":1688,"props":1781,"children":1782},{},[1783,1788],{"type":993,"tag":1670,"props":1784,"children":1785},{},[1786],{"type":999,"value":1787},"IndexError",{"type":999,"value":1789},": List/string index out of range",{"type":993,"tag":1688,"props":1791,"children":1792},{},[1793,1798],{"type":993,"tag":1670,"props":1794,"children":1795},{},[1796],{"type":999,"value":1797},"KeyError",{"type":999,"value":1799},": Dictionary key not found",{"type":993,"tag":1688,"props":1801,"children":1802},{},[1803,1808],{"type":993,"tag":1670,"props":1804,"children":1805},{},[1806],{"type":999,"value":1807},"FileNotFoundError",{"type":999,"value":1809},": File operations on missing files",{"type":993,"tag":1688,"props":1811,"children":1812},{},[1813,1818],{"type":993,"tag":1670,"props":1814,"children":1815},{},[1816],{"type":999,"value":1817},"ZeroDivisionError",{"type":999,"value":1819},": Division by zero operations",{"type":993,"tag":1002,"props":1821,"children":1822},{},[1823],{"type":993,"tag":1670,"props":1824,"children":1825},{},[1826],{"type":999,"value":1827},"Input/Output Errors:",{"type":993,"tag":1684,"props":1829,"children":1830},{},[1831,1841,1851],{"type":993,"tag":1688,"props":1832,"children":1833},{},[1834,1839],{"type":993,"tag":1670,"props":1835,"children":1836},{},[1837],{"type":999,"value":1838},"IOError",{"type":999,"value":1840},": Input/output operation failures",{"type":993,"tag":1688,"props":1842,"children":1843},{},[1844,1849],{"type":993,"tag":1670,"props":1845,"children":1846},{},[1847],{"type":999,"value":1848},"PermissionError",{"type":999,"value":1850},": Insufficient file permissions",{"type":993,"tag":1688,"props":1852,"children":1853},{},[1854,1859],{"type":993,"tag":1670,"props":1855,"children":1856},{},[1857],{"type":999,"value":1858},"ConnectionError",{"type":999,"value":1860},": Network connection problems",{"type":993,"tag":1002,"props":1862,"children":1863},{},[1864],{"type":993,"tag":1670,"props":1865,"children":1866},{},[1867],{"type":999,"value":1868},"Error Handling Best Practices:",{"type":993,"tag":1684,"props":1870,"children":1871},{},[1872,1882,1892,1902,1912],{"type":993,"tag":1688,"props":1873,"children":1874},{},[1875,1880],{"type":993,"tag":1670,"props":1876,"children":1877},{},[1878],{"type":999,"value":1879},"Specific Before General",{"type":999,"value":1881},": Catch specific exceptions before generic ones",{"type":993,"tag":1688,"props":1883,"children":1884},{},[1885,1890],{"type":993,"tag":1670,"props":1886,"children":1887},{},[1888],{"type":999,"value":1889},"Meaningful Messages",{"type":999,"value":1891},": Provide clear error descriptions",{"type":993,"tag":1688,"props":1893,"children":1894},{},[1895,1900],{"type":993,"tag":1670,"props":1896,"children":1897},{},[1898],{"type":999,"value":1899},"Logging",{"type":999,"value":1901},": Record errors for debugging and monitoring",{"type":993,"tag":1688,"props":1903,"children":1904},{},[1905,1910],{"type":993,"tag":1670,"props":1906,"children":1907},{},[1908],{"type":999,"value":1909},"Graceful Degradation",{"type":999,"value":1911},": Maintain functionality when possible",{"type":993,"tag":1688,"props":1913,"children":1914},{},[1915,1920],{"type":993,"tag":1670,"props":1916,"children":1917},{},[1918],{"type":999,"value":1919},"User-Friendly",{"type":999,"value":1921},": Translate technical errors to user language",{"type":993,"tag":1923,"props":1924,"children":1926},"h3",{"id":1925},"exception-type-categories",[1927],{"type":999,"value":1928},"Exception Type Categories",{"type":993,"tag":1002,"props":1930,"children":1931},{},[1932],{"type":999,"value":1933},"Different exception categories serve specific purposes in error identification and require tailored handling approaches.",{"type":993,"tag":1013,"props":1935,"children":1936},{},[1937],{"type":993,"tag":1017,"props":1938,"children":1940},{"className":1019,"code":1939,"language":6,"meta":8,"style":8},"def handle_runtime_errors():\n    \"\"\"Demonstrate common runtime error handling\"\"\"\n    \n    test_cases = [\n        (\"list_access\", lambda: [1, 2, 3][5]),\n        (\"dict_access\", lambda: {\"name\": \"Alice\"}[\"age\"]),\n        (\"zero_division\", lambda: 10 / 0),\n        (\"type_error\", lambda: \"hello\" + 5),\n        (\"attribute_error\", lambda: (42).split())\n    ]\n    \n    for test_name, operation in test_cases:\n        try:\n            result = operation()\n            print(f\"{test_name}: Success - {result}\")\n        except IndexError:\n            print(f\"{test_name}: Index out of range\")\n        except KeyError:\n            print(f\"{test_name}: Key not found in dictionary\")\n        except ZeroDivisionError:\n            print(f\"{test_name}: Cannot divide by zero\")\n        except TypeError:\n            print(f\"{test_name}: Incompatible data types\")\n        except AttributeError:\n            print(f\"{test_name}: Object has no such attribute\")\n        except Exception as e:\n            print(f\"{test_name}: Unexpected error - {e}\")\n\nhandle_runtime_errors()\n",[1941],{"type":993,"tag":1023,"props":1942,"children":1943},{"__ignoreMap":8},[1944,1961,1969,1977,1994,2058,2112,2155,2198,2233,2241,2248,2271,2283,2300,2359,2376,2416,2432,2472,2487,2527,2542,2582,2598,2638,2657,2713,2720],{"type":993,"tag":1027,"props":1945,"children":1946},{"class":1029,"line":12},[1947,1951,1956],{"type":993,"tag":1027,"props":1948,"children":1949},{"style":1042},[1950],{"type":999,"value":1045},{"type":993,"tag":1027,"props":1952,"children":1953},{"style":1048},[1954],{"type":999,"value":1955}," handle_runtime_errors",{"type":993,"tag":1027,"props":1957,"children":1958},{"style":1054},[1959],{"type":999,"value":1960},"():\n",{"type":993,"tag":1027,"props":1962,"children":1963},{"class":1029,"line":27},[1964],{"type":993,"tag":1027,"props":1965,"children":1966},{"style":1139},[1967],{"type":999,"value":1968},"    \"\"\"Demonstrate common runtime error handling\"\"\"\n",{"type":993,"tag":1027,"props":1970,"children":1971},{"class":1029,"line":36},[1972],{"type":993,"tag":1027,"props":1973,"children":1974},{"style":1054},[1975],{"type":999,"value":1976},"    \n",{"type":993,"tag":1027,"props":1978,"children":1979},{"class":1029,"line":45},[1980,1985,1989],{"type":993,"tag":1027,"props":1981,"children":1982},{"style":1054},[1983],{"type":999,"value":1984},"    test_cases ",{"type":993,"tag":1027,"props":1986,"children":1987},{"style":1042},[1988],{"type":999,"value":1083},{"type":993,"tag":1027,"props":1990,"children":1991},{"style":1054},[1992],{"type":999,"value":1993}," [\n",{"type":993,"tag":1027,"props":1995,"children":1996},{"class":1029,"line":54},[1997,2002,2007,2011,2016,2021,2026,2030,2034,2038,2043,2048,2053],{"type":993,"tag":1027,"props":1998,"children":1999},{"style":1054},[2000],{"type":999,"value":2001},"        (",{"type":993,"tag":1027,"props":2003,"children":2004},{"style":1139},[2005],{"type":999,"value":2006},"\"list_access\"",{"type":993,"tag":1027,"props":2008,"children":2009},{"style":1054},[2010],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2012,"children":2013},{"style":1042},[2014],{"type":999,"value":2015},"lambda",{"type":993,"tag":1027,"props":2017,"children":2018},{"style":1054},[2019],{"type":999,"value":2020},": [",{"type":993,"tag":1027,"props":2022,"children":2023},{"style":1122},[2024],{"type":999,"value":2025},"1",{"type":993,"tag":1027,"props":2027,"children":2028},{"style":1054},[2029],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2031,"children":2032},{"style":1122},[2033],{"type":999,"value":1537},{"type":993,"tag":1027,"props":2035,"children":2036},{"style":1054},[2037],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2039,"children":2040},{"style":1122},[2041],{"type":999,"value":2042},"3",{"type":993,"tag":1027,"props":2044,"children":2045},{"style":1054},[2046],{"type":999,"value":2047},"][",{"type":993,"tag":1027,"props":2049,"children":2050},{"style":1122},[2051],{"type":999,"value":2052},"5",{"type":993,"tag":1027,"props":2054,"children":2055},{"style":1054},[2056],{"type":999,"value":2057},"]),\n",{"type":993,"tag":1027,"props":2059,"children":2060},{"class":1029,"line":63},[2061,2065,2070,2074,2078,2083,2088,2093,2098,2103,2108],{"type":993,"tag":1027,"props":2062,"children":2063},{"style":1054},[2064],{"type":999,"value":2001},{"type":993,"tag":1027,"props":2066,"children":2067},{"style":1139},[2068],{"type":999,"value":2069},"\"dict_access\"",{"type":993,"tag":1027,"props":2071,"children":2072},{"style":1054},[2073],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2075,"children":2076},{"style":1042},[2077],{"type":999,"value":2015},{"type":993,"tag":1027,"props":2079,"children":2080},{"style":1054},[2081],{"type":999,"value":2082},": {",{"type":993,"tag":1027,"props":2084,"children":2085},{"style":1139},[2086],{"type":999,"value":2087},"\"name\"",{"type":993,"tag":1027,"props":2089,"children":2090},{"style":1054},[2091],{"type":999,"value":2092},": ",{"type":993,"tag":1027,"props":2094,"children":2095},{"style":1139},[2096],{"type":999,"value":2097},"\"Alice\"",{"type":993,"tag":1027,"props":2099,"children":2100},{"style":1054},[2101],{"type":999,"value":2102},"}[",{"type":993,"tag":1027,"props":2104,"children":2105},{"style":1139},[2106],{"type":999,"value":2107},"\"age\"",{"type":993,"tag":1027,"props":2109,"children":2110},{"style":1054},[2111],{"type":999,"value":2057},{"type":993,"tag":1027,"props":2113,"children":2114},{"class":1029,"line":72},[2115,2119,2124,2128,2132,2136,2140,2145,2150],{"type":993,"tag":1027,"props":2116,"children":2117},{"style":1054},[2118],{"type":999,"value":2001},{"type":993,"tag":1027,"props":2120,"children":2121},{"style":1139},[2122],{"type":999,"value":2123},"\"zero_division\"",{"type":993,"tag":1027,"props":2125,"children":2126},{"style":1054},[2127],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2129,"children":2130},{"style":1042},[2131],{"type":999,"value":2015},{"type":993,"tag":1027,"props":2133,"children":2134},{"style":1054},[2135],{"type":999,"value":2092},{"type":993,"tag":1027,"props":2137,"children":2138},{"style":1122},[2139],{"type":999,"value":1527},{"type":993,"tag":1027,"props":2141,"children":2142},{"style":1042},[2143],{"type":999,"value":2144}," /",{"type":993,"tag":1027,"props":2146,"children":2147},{"style":1122},[2148],{"type":999,"value":2149}," 0",{"type":993,"tag":1027,"props":2151,"children":2152},{"style":1054},[2153],{"type":999,"value":2154},"),\n",{"type":993,"tag":1027,"props":2156,"children":2157},{"class":1029,"line":81},[2158,2162,2167,2171,2175,2179,2184,2189,2194],{"type":993,"tag":1027,"props":2159,"children":2160},{"style":1054},[2161],{"type":999,"value":2001},{"type":993,"tag":1027,"props":2163,"children":2164},{"style":1139},[2165],{"type":999,"value":2166},"\"type_error\"",{"type":993,"tag":1027,"props":2168,"children":2169},{"style":1054},[2170],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2172,"children":2173},{"style":1042},[2174],{"type":999,"value":2015},{"type":993,"tag":1027,"props":2176,"children":2177},{"style":1054},[2178],{"type":999,"value":2092},{"type":993,"tag":1027,"props":2180,"children":2181},{"style":1139},[2182],{"type":999,"value":2183},"\"hello\"",{"type":993,"tag":1027,"props":2185,"children":2186},{"style":1042},[2187],{"type":999,"value":2188}," +",{"type":993,"tag":1027,"props":2190,"children":2191},{"style":1122},[2192],{"type":999,"value":2193}," 5",{"type":993,"tag":1027,"props":2195,"children":2196},{"style":1054},[2197],{"type":999,"value":2154},{"type":993,"tag":1027,"props":2199,"children":2200},{"class":1029,"line":91},[2201,2205,2210,2214,2218,2223,2228],{"type":993,"tag":1027,"props":2202,"children":2203},{"style":1054},[2204],{"type":999,"value":2001},{"type":993,"tag":1027,"props":2206,"children":2207},{"style":1139},[2208],{"type":999,"value":2209},"\"attribute_error\"",{"type":993,"tag":1027,"props":2211,"children":2212},{"style":1054},[2213],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2215,"children":2216},{"style":1042},[2217],{"type":999,"value":2015},{"type":993,"tag":1027,"props":2219,"children":2220},{"style":1054},[2221],{"type":999,"value":2222},": (",{"type":993,"tag":1027,"props":2224,"children":2225},{"style":1122},[2226],{"type":999,"value":2227},"42",{"type":993,"tag":1027,"props":2229,"children":2230},{"style":1054},[2231],{"type":999,"value":2232},").split())\n",{"type":993,"tag":1027,"props":2234,"children":2235},{"class":1029,"line":100},[2236],{"type":993,"tag":1027,"props":2237,"children":2238},{"style":1054},[2239],{"type":999,"value":2240},"    ]\n",{"type":993,"tag":1027,"props":2242,"children":2243},{"class":1029,"line":109},[2244],{"type":993,"tag":1027,"props":2245,"children":2246},{"style":1054},[2247],{"type":999,"value":1976},{"type":993,"tag":1027,"props":2249,"children":2250},{"class":1029,"line":118},[2251,2256,2261,2266],{"type":993,"tag":1027,"props":2252,"children":2253},{"style":1042},[2254],{"type":999,"value":2255},"    for",{"type":993,"tag":1027,"props":2257,"children":2258},{"style":1054},[2259],{"type":999,"value":2260}," test_name, operation ",{"type":993,"tag":1027,"props":2262,"children":2263},{"style":1042},[2264],{"type":999,"value":2265},"in",{"type":993,"tag":1027,"props":2267,"children":2268},{"style":1054},[2269],{"type":999,"value":2270}," test_cases:\n",{"type":993,"tag":1027,"props":2272,"children":2273},{"class":1029,"line":127},[2274,2279],{"type":993,"tag":1027,"props":2275,"children":2276},{"style":1042},[2277],{"type":999,"value":2278},"        try",{"type":993,"tag":1027,"props":2280,"children":2281},{"style":1054},[2282],{"type":999,"value":1070},{"type":993,"tag":1027,"props":2284,"children":2285},{"class":1029,"line":136},[2286,2291,2295],{"type":993,"tag":1027,"props":2287,"children":2288},{"style":1054},[2289],{"type":999,"value":2290},"            result ",{"type":993,"tag":1027,"props":2292,"children":2293},{"style":1042},[2294],{"type":999,"value":1083},{"type":993,"tag":1027,"props":2296,"children":2297},{"style":1054},[2298],{"type":999,"value":2299}," operation()\n",{"type":993,"tag":1027,"props":2301,"children":2302},{"class":1029,"line":146},[2303,2308,2312,2316,2320,2324,2329,2333,2338,2342,2347,2351,2355],{"type":993,"tag":1027,"props":2304,"children":2305},{"style":1122},[2306],{"type":999,"value":2307},"            print",{"type":993,"tag":1027,"props":2309,"children":2310},{"style":1054},[2311],{"type":999,"value":1325},{"type":993,"tag":1027,"props":2313,"children":2314},{"style":1042},[2315],{"type":999,"value":1330},{"type":993,"tag":1027,"props":2317,"children":2318},{"style":1139},[2319],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2321,"children":2322},{"style":1122},[2323],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2325,"children":2326},{"style":1054},[2327],{"type":999,"value":2328},"test_name",{"type":993,"tag":1027,"props":2330,"children":2331},{"style":1122},[2332],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2334,"children":2335},{"style":1139},[2336],{"type":999,"value":2337},": Success - ",{"type":993,"tag":1027,"props":2339,"children":2340},{"style":1122},[2341],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2343,"children":2344},{"style":1054},[2345],{"type":999,"value":2346},"result",{"type":993,"tag":1027,"props":2348,"children":2349},{"style":1122},[2350],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2352,"children":2353},{"style":1139},[2354],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2356,"children":2357},{"style":1054},[2358],{"type":999,"value":1360},{"type":993,"tag":1027,"props":2360,"children":2361},{"class":1029,"line":155},[2362,2367,2372],{"type":993,"tag":1027,"props":2363,"children":2364},{"style":1042},[2365],{"type":999,"value":2366},"        except",{"type":993,"tag":1027,"props":2368,"children":2369},{"style":1122},[2370],{"type":999,"value":2371}," IndexError",{"type":993,"tag":1027,"props":2373,"children":2374},{"style":1054},[2375],{"type":999,"value":1070},{"type":993,"tag":1027,"props":2377,"children":2378},{"class":1029,"line":164},[2379,2383,2387,2391,2395,2399,2403,2407,2412],{"type":993,"tag":1027,"props":2380,"children":2381},{"style":1122},[2382],{"type":999,"value":2307},{"type":993,"tag":1027,"props":2384,"children":2385},{"style":1054},[2386],{"type":999,"value":1325},{"type":993,"tag":1027,"props":2388,"children":2389},{"style":1042},[2390],{"type":999,"value":1330},{"type":993,"tag":1027,"props":2392,"children":2393},{"style":1139},[2394],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2396,"children":2397},{"style":1122},[2398],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2400,"children":2401},{"style":1054},[2402],{"type":999,"value":2328},{"type":993,"tag":1027,"props":2404,"children":2405},{"style":1122},[2406],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2408,"children":2409},{"style":1139},[2410],{"type":999,"value":2411},": Index out of range\"",{"type":993,"tag":1027,"props":2413,"children":2414},{"style":1054},[2415],{"type":999,"value":1360},{"type":993,"tag":1027,"props":2417,"children":2418},{"class":1029,"line":173},[2419,2423,2428],{"type":993,"tag":1027,"props":2420,"children":2421},{"style":1042},[2422],{"type":999,"value":2366},{"type":993,"tag":1027,"props":2424,"children":2425},{"style":1122},[2426],{"type":999,"value":2427}," KeyError",{"type":993,"tag":1027,"props":2429,"children":2430},{"style":1054},[2431],{"type":999,"value":1070},{"type":993,"tag":1027,"props":2433,"children":2434},{"class":1029,"line":182},[2435,2439,2443,2447,2451,2455,2459,2463,2468],{"type":993,"tag":1027,"props":2436,"children":2437},{"style":1122},[2438],{"type":999,"value":2307},{"type":993,"tag":1027,"props":2440,"children":2441},{"style":1054},[2442],{"type":999,"value":1325},{"type":993,"tag":1027,"props":2444,"children":2445},{"style":1042},[2446],{"type":999,"value":1330},{"type":993,"tag":1027,"props":2448,"children":2449},{"style":1139},[2450],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2452,"children":2453},{"style":1122},[2454],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2456,"children":2457},{"style":1054},[2458],{"type":999,"value":2328},{"type":993,"tag":1027,"props":2460,"children":2461},{"style":1122},[2462],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2464,"children":2465},{"style":1139},[2466],{"type":999,"value":2467},": Key not found in dictionary\"",{"type":993,"tag":1027,"props":2469,"children":2470},{"style":1054},[2471],{"type":999,"value":1360},{"type":993,"tag":1027,"props":2473,"children":2474},{"class":1029,"line":191},[2475,2479,2483],{"type":993,"tag":1027,"props":2476,"children":2477},{"style":1042},[2478],{"type":999,"value":2366},{"type":993,"tag":1027,"props":2480,"children":2481},{"style":1122},[2482],{"type":999,"value":1125},{"type":993,"tag":1027,"props":2484,"children":2485},{"style":1054},[2486],{"type":999,"value":1070},{"type":993,"tag":1027,"props":2488,"children":2489},{"class":1029,"line":201},[2490,2494,2498,2502,2506,2510,2514,2518,2523],{"type":993,"tag":1027,"props":2491,"children":2492},{"style":1122},[2493],{"type":999,"value":2307},{"type":993,"tag":1027,"props":2495,"children":2496},{"style":1054},[2497],{"type":999,"value":1325},{"type":993,"tag":1027,"props":2499,"children":2500},{"style":1042},[2501],{"type":999,"value":1330},{"type":993,"tag":1027,"props":2503,"children":2504},{"style":1139},[2505],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2507,"children":2508},{"style":1122},[2509],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2511,"children":2512},{"style":1054},[2513],{"type":999,"value":2328},{"type":993,"tag":1027,"props":2515,"children":2516},{"style":1122},[2517],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2519,"children":2520},{"style":1139},[2521],{"type":999,"value":2522},": Cannot divide by zero\"",{"type":993,"tag":1027,"props":2524,"children":2525},{"style":1054},[2526],{"type":999,"value":1360},{"type":993,"tag":1027,"props":2528,"children":2529},{"class":1029,"line":210},[2530,2534,2538],{"type":993,"tag":1027,"props":2531,"children":2532},{"style":1042},[2533],{"type":999,"value":2366},{"type":993,"tag":1027,"props":2535,"children":2536},{"style":1122},[2537],{"type":999,"value":1154},{"type":993,"tag":1027,"props":2539,"children":2540},{"style":1054},[2541],{"type":999,"value":1070},{"type":993,"tag":1027,"props":2543,"children":2544},{"class":1029,"line":219},[2545,2549,2553,2557,2561,2565,2569,2573,2578],{"type":993,"tag":1027,"props":2546,"children":2547},{"style":1122},[2548],{"type":999,"value":2307},{"type":993,"tag":1027,"props":2550,"children":2551},{"style":1054},[2552],{"type":999,"value":1325},{"type":993,"tag":1027,"props":2554,"children":2555},{"style":1042},[2556],{"type":999,"value":1330},{"type":993,"tag":1027,"props":2558,"children":2559},{"style":1139},[2560],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2562,"children":2563},{"style":1122},[2564],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2566,"children":2567},{"style":1054},[2568],{"type":999,"value":2328},{"type":993,"tag":1027,"props":2570,"children":2571},{"style":1122},[2572],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2574,"children":2575},{"style":1139},[2576],{"type":999,"value":2577},": Incompatible data types\"",{"type":993,"tag":1027,"props":2579,"children":2580},{"style":1054},[2581],{"type":999,"value":1360},{"type":993,"tag":1027,"props":2583,"children":2584},{"class":1029,"line":228},[2585,2589,2594],{"type":993,"tag":1027,"props":2586,"children":2587},{"style":1042},[2588],{"type":999,"value":2366},{"type":993,"tag":1027,"props":2590,"children":2591},{"style":1122},[2592],{"type":999,"value":2593}," AttributeError",{"type":993,"tag":1027,"props":2595,"children":2596},{"style":1054},[2597],{"type":999,"value":1070},{"type":993,"tag":1027,"props":2599,"children":2600},{"class":1029,"line":238},[2601,2605,2609,2613,2617,2621,2625,2629,2634],{"type":993,"tag":1027,"props":2602,"children":2603},{"style":1122},[2604],{"type":999,"value":2307},{"type":993,"tag":1027,"props":2606,"children":2607},{"style":1054},[2608],{"type":999,"value":1325},{"type":993,"tag":1027,"props":2610,"children":2611},{"style":1042},[2612],{"type":999,"value":1330},{"type":993,"tag":1027,"props":2614,"children":2615},{"style":1139},[2616],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2618,"children":2619},{"style":1122},[2620],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2622,"children":2623},{"style":1054},[2624],{"type":999,"value":2328},{"type":993,"tag":1027,"props":2626,"children":2627},{"style":1122},[2628],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2630,"children":2631},{"style":1139},[2632],{"type":999,"value":2633},": Object has no such attribute\"",{"type":993,"tag":1027,"props":2635,"children":2636},{"style":1054},[2637],{"type":999,"value":1360},{"type":993,"tag":1027,"props":2639,"children":2640},{"class":1029,"line":247},[2641,2645,2649,2653],{"type":993,"tag":1027,"props":2642,"children":2643},{"style":1042},[2644],{"type":999,"value":2366},{"type":993,"tag":1027,"props":2646,"children":2647},{"style":1122},[2648],{"type":999,"value":1429},{"type":993,"tag":1027,"props":2650,"children":2651},{"style":1042},[2652],{"type":999,"value":1434},{"type":993,"tag":1027,"props":2654,"children":2655},{"style":1054},[2656],{"type":999,"value":1439},{"type":993,"tag":1027,"props":2658,"children":2659},{"class":1029,"line":256},[2660,2664,2668,2672,2676,2680,2684,2688,2693,2697,2701,2705,2709],{"type":993,"tag":1027,"props":2661,"children":2662},{"style":1122},[2663],{"type":999,"value":2307},{"type":993,"tag":1027,"props":2665,"children":2666},{"style":1054},[2667],{"type":999,"value":1325},{"type":993,"tag":1027,"props":2669,"children":2670},{"style":1042},[2671],{"type":999,"value":1330},{"type":993,"tag":1027,"props":2673,"children":2674},{"style":1139},[2675],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2677,"children":2678},{"style":1122},[2679],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2681,"children":2682},{"style":1054},[2683],{"type":999,"value":2328},{"type":993,"tag":1027,"props":2685,"children":2686},{"style":1122},[2687],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2689,"children":2690},{"style":1139},[2691],{"type":999,"value":2692},": Unexpected error - ",{"type":993,"tag":1027,"props":2694,"children":2695},{"style":1122},[2696],{"type":999,"value":1340},{"type":993,"tag":1027,"props":2698,"children":2699},{"style":1054},[2700],{"type":999,"value":1468},{"type":993,"tag":1027,"props":2702,"children":2703},{"style":1122},[2704],{"type":999,"value":1350},{"type":993,"tag":1027,"props":2706,"children":2707},{"style":1139},[2708],{"type":999,"value":1477},{"type":993,"tag":1027,"props":2710,"children":2711},{"style":1054},[2712],{"type":999,"value":1360},{"type":993,"tag":1027,"props":2714,"children":2715},{"class":1029,"line":265},[2716],{"type":993,"tag":1027,"props":2717,"children":2718},{"emptyLinePlaceholder":13},[2719],{"type":999,"value":1178},{"type":993,"tag":1027,"props":2721,"children":2722},{"class":1029,"line":274},[2723],{"type":993,"tag":1027,"props":2724,"children":2725},{"style":1054},[2726],{"type":999,"value":2727},"handle_runtime_errors()\n",{"type":993,"tag":1923,"props":2729,"children":2731},{"id":2730},"input-validation-with-error-handling",[2732],{"type":999,"value":2733},"Input Validation with Error Handling",{"type":993,"tag":1002,"props":2735,"children":2736},{},[2737],{"type":999,"value":2738},"Input validation prevents invalid data from causing errors and provides immediate feedback for correction.",{"type":993,"tag":1013,"props":2740,"children":2741},{},[2742],{"type":993,"tag":1017,"props":2743,"children":2745},{"className":1019,"code":2744,"language":6,"meta":8,"style":8},"def validate_user_input(data_type, prompt):\n    \"\"\"Robust input validation with error handling\"\"\"\n    \n    # Simulate user input for demonstration\n    test_inputs = {\n        \"int\": [\"25\", \"-5\", \"abc\", \"100\"],\n        \"email\": [\"user@example.com\", \"invalid-email\", \"test@test.com\"],\n        \"age\": [\"25\", \"150\", \"-5\", \"abc\"]\n    }\n    \n    inputs = test_inputs.get(data_type, [\"25\"])\n    \n    for user_input in inputs:\n        try:\n            print(f\"\\nTesting input: '{user_input}' for {data_type}\")\n            \n            if data_type == \"int\":\n                value = int(user_input)\n                if value \u003C 0:\n                    raise ValueError(\"Number must be non-negative\")\n                print(f\"✅ Valid integer: {value}\")\n                \n            elif data_type == \"email\":\n                if \"@\" not in user_input or \".\" not in user_input:\n                    raise ValueError(\"Invalid email format\")\n                print(f\"✅ Valid email: {user_input}\")\n                \n            elif data_type == \"age\":\n                age = int(user_input)\n                if not 0 \u003C= age \u003C= 150:\n                    raise ValueError(\"Age must be between 0 and 150\")\n                print(f\"✅ Valid age: {age}\")\n                \n        except ValueError as e:\n            print(f\"❌ Invalid input: {e}\")\n        except Exception as e:\n            print(f\"❌ Unexpected error: {e}\")\n\n# Test validation\nvalidate_user_input(\"int\", \"Enter a number: \")\nvalidate_user_input(\"email\", \"Enter email: \")\nvalidate_user_input(\"age\", \"Enter age: \")\n",[2746],{"type":993,"tag":1023,"props":2747,"children":2748},{"__ignoreMap":8},[2749,2766,2774,2781,2789,2806,2855,2894,2940,2948,2955,2981,2988,3009,3020,3088,3096,3123,3145,3171,3197,3239,3247,3272,3321,3345,3385,3392,3416,3436,3475,3499,3540,3547,3566,3606,3625,3665,3672,3680,3706,3731],{"type":993,"tag":1027,"props":2750,"children":2751},{"class":1029,"line":12},[2752,2756,2761],{"type":993,"tag":1027,"props":2753,"children":2754},{"style":1042},[2755],{"type":999,"value":1045},{"type":993,"tag":1027,"props":2757,"children":2758},{"style":1048},[2759],{"type":999,"value":2760}," validate_user_input",{"type":993,"tag":1027,"props":2762,"children":2763},{"style":1054},[2764],{"type":999,"value":2765},"(data_type, prompt):\n",{"type":993,"tag":1027,"props":2767,"children":2768},{"class":1029,"line":27},[2769],{"type":993,"tag":1027,"props":2770,"children":2771},{"style":1139},[2772],{"type":999,"value":2773},"    \"\"\"Robust input validation with error handling\"\"\"\n",{"type":993,"tag":1027,"props":2775,"children":2776},{"class":1029,"line":36},[2777],{"type":993,"tag":1027,"props":2778,"children":2779},{"style":1054},[2780],{"type":999,"value":1976},{"type":993,"tag":1027,"props":2782,"children":2783},{"class":1029,"line":45},[2784],{"type":993,"tag":1027,"props":2785,"children":2786},{"style":1033},[2787],{"type":999,"value":2788},"    # Simulate user input for demonstration\n",{"type":993,"tag":1027,"props":2790,"children":2791},{"class":1029,"line":54},[2792,2797,2801],{"type":993,"tag":1027,"props":2793,"children":2794},{"style":1054},[2795],{"type":999,"value":2796},"    test_inputs ",{"type":993,"tag":1027,"props":2798,"children":2799},{"style":1042},[2800],{"type":999,"value":1083},{"type":993,"tag":1027,"props":2802,"children":2803},{"style":1054},[2804],{"type":999,"value":2805}," {\n",{"type":993,"tag":1027,"props":2807,"children":2808},{"class":1029,"line":63},[2809,2814,2818,2823,2827,2832,2836,2841,2845,2850],{"type":993,"tag":1027,"props":2810,"children":2811},{"style":1139},[2812],{"type":999,"value":2813},"        \"int\"",{"type":993,"tag":1027,"props":2815,"children":2816},{"style":1054},[2817],{"type":999,"value":2020},{"type":993,"tag":1027,"props":2819,"children":2820},{"style":1139},[2821],{"type":999,"value":2822},"\"25\"",{"type":993,"tag":1027,"props":2824,"children":2825},{"style":1054},[2826],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2828,"children":2829},{"style":1139},[2830],{"type":999,"value":2831},"\"-5\"",{"type":993,"tag":1027,"props":2833,"children":2834},{"style":1054},[2835],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2837,"children":2838},{"style":1139},[2839],{"type":999,"value":2840},"\"abc\"",{"type":993,"tag":1027,"props":2842,"children":2843},{"style":1054},[2844],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2846,"children":2847},{"style":1139},[2848],{"type":999,"value":2849},"\"100\"",{"type":993,"tag":1027,"props":2851,"children":2852},{"style":1054},[2853],{"type":999,"value":2854},"],\n",{"type":993,"tag":1027,"props":2856,"children":2857},{"class":1029,"line":72},[2858,2863,2867,2872,2876,2881,2885,2890],{"type":993,"tag":1027,"props":2859,"children":2860},{"style":1139},[2861],{"type":999,"value":2862},"        \"email\"",{"type":993,"tag":1027,"props":2864,"children":2865},{"style":1054},[2866],{"type":999,"value":2020},{"type":993,"tag":1027,"props":2868,"children":2869},{"style":1139},[2870],{"type":999,"value":2871},"\"user@example.com\"",{"type":993,"tag":1027,"props":2873,"children":2874},{"style":1054},[2875],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2877,"children":2878},{"style":1139},[2879],{"type":999,"value":2880},"\"invalid-email\"",{"type":993,"tag":1027,"props":2882,"children":2883},{"style":1054},[2884],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2886,"children":2887},{"style":1139},[2888],{"type":999,"value":2889},"\"test@test.com\"",{"type":993,"tag":1027,"props":2891,"children":2892},{"style":1054},[2893],{"type":999,"value":2854},{"type":993,"tag":1027,"props":2895,"children":2896},{"class":1029,"line":81},[2897,2902,2906,2910,2914,2919,2923,2927,2931,2935],{"type":993,"tag":1027,"props":2898,"children":2899},{"style":1139},[2900],{"type":999,"value":2901},"        \"age\"",{"type":993,"tag":1027,"props":2903,"children":2904},{"style":1054},[2905],{"type":999,"value":2020},{"type":993,"tag":1027,"props":2907,"children":2908},{"style":1139},[2909],{"type":999,"value":2822},{"type":993,"tag":1027,"props":2911,"children":2912},{"style":1054},[2913],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2915,"children":2916},{"style":1139},[2917],{"type":999,"value":2918},"\"150\"",{"type":993,"tag":1027,"props":2920,"children":2921},{"style":1054},[2922],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2924,"children":2925},{"style":1139},[2926],{"type":999,"value":2831},{"type":993,"tag":1027,"props":2928,"children":2929},{"style":1054},[2930],{"type":999,"value":1532},{"type":993,"tag":1027,"props":2932,"children":2933},{"style":1139},[2934],{"type":999,"value":2840},{"type":993,"tag":1027,"props":2936,"children":2937},{"style":1054},[2938],{"type":999,"value":2939},"]\n",{"type":993,"tag":1027,"props":2941,"children":2942},{"class":1029,"line":91},[2943],{"type":993,"tag":1027,"props":2944,"children":2945},{"style":1054},[2946],{"type":999,"value":2947},"    }\n",{"type":993,"tag":1027,"props":2949,"children":2950},{"class":1029,"line":100},[2951],{"type":993,"tag":1027,"props":2952,"children":2953},{"style":1054},[2954],{"type":999,"value":1976},{"type":993,"tag":1027,"props":2956,"children":2957},{"class":1029,"line":109},[2958,2963,2967,2972,2976],{"type":993,"tag":1027,"props":2959,"children":2960},{"style":1054},[2961],{"type":999,"value":2962},"    inputs ",{"type":993,"tag":1027,"props":2964,"children":2965},{"style":1042},[2966],{"type":999,"value":1083},{"type":993,"tag":1027,"props":2968,"children":2969},{"style":1054},[2970],{"type":999,"value":2971}," test_inputs.get(data_type, [",{"type":993,"tag":1027,"props":2973,"children":2974},{"style":1139},[2975],{"type":999,"value":2822},{"type":993,"tag":1027,"props":2977,"children":2978},{"style":1054},[2979],{"type":999,"value":2980},"])\n",{"type":993,"tag":1027,"props":2982,"children":2983},{"class":1029,"line":118},[2984],{"type":993,"tag":1027,"props":2985,"children":2986},{"style":1054},[2987],{"type":999,"value":1976},{"type":993,"tag":1027,"props":2989,"children":2990},{"class":1029,"line":127},[2991,2995,3000,3004],{"type":993,"tag":1027,"props":2992,"children":2993},{"style":1042},[2994],{"type":999,"value":2255},{"type":993,"tag":1027,"props":2996,"children":2997},{"style":1054},[2998],{"type":999,"value":2999}," user_input ",{"type":993,"tag":1027,"props":3001,"children":3002},{"style":1042},[3003],{"type":999,"value":2265},{"type":993,"tag":1027,"props":3005,"children":3006},{"style":1054},[3007],{"type":999,"value":3008}," inputs:\n",{"type":993,"tag":1027,"props":3010,"children":3011},{"class":1029,"line":136},[3012,3016],{"type":993,"tag":1027,"props":3013,"children":3014},{"style":1042},[3015],{"type":999,"value":2278},{"type":993,"tag":1027,"props":3017,"children":3018},{"style":1054},[3019],{"type":999,"value":1070},{"type":993,"tag":1027,"props":3021,"children":3022},{"class":1029,"line":146},[3023,3027,3031,3035,3039,3044,3049,3053,3058,3062,3067,3071,3076,3080,3084],{"type":993,"tag":1027,"props":3024,"children":3025},{"style":1122},[3026],{"type":999,"value":2307},{"type":993,"tag":1027,"props":3028,"children":3029},{"style":1054},[3030],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3032,"children":3033},{"style":1042},[3034],{"type":999,"value":1330},{"type":993,"tag":1027,"props":3036,"children":3037},{"style":1139},[3038],{"type":999,"value":1477},{"type":993,"tag":1027,"props":3040,"children":3041},{"style":1122},[3042],{"type":999,"value":3043},"\\n",{"type":993,"tag":1027,"props":3045,"children":3046},{"style":1139},[3047],{"type":999,"value":3048},"Testing input: '",{"type":993,"tag":1027,"props":3050,"children":3051},{"style":1122},[3052],{"type":999,"value":1340},{"type":993,"tag":1027,"props":3054,"children":3055},{"style":1054},[3056],{"type":999,"value":3057},"user_input",{"type":993,"tag":1027,"props":3059,"children":3060},{"style":1122},[3061],{"type":999,"value":1350},{"type":993,"tag":1027,"props":3063,"children":3064},{"style":1139},[3065],{"type":999,"value":3066},"' for ",{"type":993,"tag":1027,"props":3068,"children":3069},{"style":1122},[3070],{"type":999,"value":1340},{"type":993,"tag":1027,"props":3072,"children":3073},{"style":1054},[3074],{"type":999,"value":3075},"data_type",{"type":993,"tag":1027,"props":3077,"children":3078},{"style":1122},[3079],{"type":999,"value":1350},{"type":993,"tag":1027,"props":3081,"children":3082},{"style":1139},[3083],{"type":999,"value":1477},{"type":993,"tag":1027,"props":3085,"children":3086},{"style":1054},[3087],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3089,"children":3090},{"class":1029,"line":155},[3091],{"type":993,"tag":1027,"props":3092,"children":3093},{"style":1054},[3094],{"type":999,"value":3095},"            \n",{"type":993,"tag":1027,"props":3097,"children":3098},{"class":1029,"line":164},[3099,3104,3109,3114,3119],{"type":993,"tag":1027,"props":3100,"children":3101},{"style":1042},[3102],{"type":999,"value":3103},"            if",{"type":993,"tag":1027,"props":3105,"children":3106},{"style":1054},[3107],{"type":999,"value":3108}," data_type ",{"type":993,"tag":1027,"props":3110,"children":3111},{"style":1042},[3112],{"type":999,"value":3113},"==",{"type":993,"tag":1027,"props":3115,"children":3116},{"style":1139},[3117],{"type":999,"value":3118}," \"int\"",{"type":993,"tag":1027,"props":3120,"children":3121},{"style":1054},[3122],{"type":999,"value":1070},{"type":993,"tag":1027,"props":3124,"children":3125},{"class":1029,"line":173},[3126,3131,3135,3140],{"type":993,"tag":1027,"props":3127,"children":3128},{"style":1054},[3129],{"type":999,"value":3130},"                value ",{"type":993,"tag":1027,"props":3132,"children":3133},{"style":1042},[3134],{"type":999,"value":1083},{"type":993,"tag":1027,"props":3136,"children":3137},{"style":1122},[3138],{"type":999,"value":3139}," int",{"type":993,"tag":1027,"props":3141,"children":3142},{"style":1054},[3143],{"type":999,"value":3144},"(user_input)\n",{"type":993,"tag":1027,"props":3146,"children":3147},{"class":1029,"line":182},[3148,3153,3158,3163,3167],{"type":993,"tag":1027,"props":3149,"children":3150},{"style":1042},[3151],{"type":999,"value":3152},"                if",{"type":993,"tag":1027,"props":3154,"children":3155},{"style":1054},[3156],{"type":999,"value":3157}," value ",{"type":993,"tag":1027,"props":3159,"children":3160},{"style":1042},[3161],{"type":999,"value":3162},"\u003C",{"type":993,"tag":1027,"props":3164,"children":3165},{"style":1122},[3166],{"type":999,"value":2149},{"type":993,"tag":1027,"props":3168,"children":3169},{"style":1054},[3170],{"type":999,"value":1070},{"type":993,"tag":1027,"props":3172,"children":3173},{"class":1029,"line":191},[3174,3179,3184,3188,3193],{"type":993,"tag":1027,"props":3175,"children":3176},{"style":1042},[3177],{"type":999,"value":3178},"                    raise",{"type":993,"tag":1027,"props":3180,"children":3181},{"style":1122},[3182],{"type":999,"value":3183}," ValueError",{"type":993,"tag":1027,"props":3185,"children":3186},{"style":1054},[3187],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3189,"children":3190},{"style":1139},[3191],{"type":999,"value":3192},"\"Number must be non-negative\"",{"type":993,"tag":1027,"props":3194,"children":3195},{"style":1054},[3196],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3198,"children":3199},{"class":1029,"line":201},[3200,3205,3209,3213,3218,3222,3227,3231,3235],{"type":993,"tag":1027,"props":3201,"children":3202},{"style":1122},[3203],{"type":999,"value":3204},"                print",{"type":993,"tag":1027,"props":3206,"children":3207},{"style":1054},[3208],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3210,"children":3211},{"style":1042},[3212],{"type":999,"value":1330},{"type":993,"tag":1027,"props":3214,"children":3215},{"style":1139},[3216],{"type":999,"value":3217},"\"✅ Valid integer: ",{"type":993,"tag":1027,"props":3219,"children":3220},{"style":1122},[3221],{"type":999,"value":1340},{"type":993,"tag":1027,"props":3223,"children":3224},{"style":1054},[3225],{"type":999,"value":3226},"value",{"type":993,"tag":1027,"props":3228,"children":3229},{"style":1122},[3230],{"type":999,"value":1350},{"type":993,"tag":1027,"props":3232,"children":3233},{"style":1139},[3234],{"type":999,"value":1477},{"type":993,"tag":1027,"props":3236,"children":3237},{"style":1054},[3238],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3240,"children":3241},{"class":1029,"line":210},[3242],{"type":993,"tag":1027,"props":3243,"children":3244},{"style":1054},[3245],{"type":999,"value":3246},"                \n",{"type":993,"tag":1027,"props":3248,"children":3249},{"class":1029,"line":219},[3250,3255,3259,3263,3268],{"type":993,"tag":1027,"props":3251,"children":3252},{"style":1042},[3253],{"type":999,"value":3254},"            elif",{"type":993,"tag":1027,"props":3256,"children":3257},{"style":1054},[3258],{"type":999,"value":3108},{"type":993,"tag":1027,"props":3260,"children":3261},{"style":1042},[3262],{"type":999,"value":3113},{"type":993,"tag":1027,"props":3264,"children":3265},{"style":1139},[3266],{"type":999,"value":3267}," \"email\"",{"type":993,"tag":1027,"props":3269,"children":3270},{"style":1054},[3271],{"type":999,"value":1070},{"type":993,"tag":1027,"props":3273,"children":3274},{"class":1029,"line":228},[3275,3279,3284,3289,3294,3298,3303,3308,3312,3316],{"type":993,"tag":1027,"props":3276,"children":3277},{"style":1042},[3278],{"type":999,"value":3152},{"type":993,"tag":1027,"props":3280,"children":3281},{"style":1139},[3282],{"type":999,"value":3283}," \"@\"",{"type":993,"tag":1027,"props":3285,"children":3286},{"style":1042},[3287],{"type":999,"value":3288}," not",{"type":993,"tag":1027,"props":3290,"children":3291},{"style":1042},[3292],{"type":999,"value":3293}," in",{"type":993,"tag":1027,"props":3295,"children":3296},{"style":1054},[3297],{"type":999,"value":2999},{"type":993,"tag":1027,"props":3299,"children":3300},{"style":1042},[3301],{"type":999,"value":3302},"or",{"type":993,"tag":1027,"props":3304,"children":3305},{"style":1139},[3306],{"type":999,"value":3307}," \".\"",{"type":993,"tag":1027,"props":3309,"children":3310},{"style":1042},[3311],{"type":999,"value":3288},{"type":993,"tag":1027,"props":3313,"children":3314},{"style":1042},[3315],{"type":999,"value":3293},{"type":993,"tag":1027,"props":3317,"children":3318},{"style":1054},[3319],{"type":999,"value":3320}," user_input:\n",{"type":993,"tag":1027,"props":3322,"children":3323},{"class":1029,"line":238},[3324,3328,3332,3336,3341],{"type":993,"tag":1027,"props":3325,"children":3326},{"style":1042},[3327],{"type":999,"value":3178},{"type":993,"tag":1027,"props":3329,"children":3330},{"style":1122},[3331],{"type":999,"value":3183},{"type":993,"tag":1027,"props":3333,"children":3334},{"style":1054},[3335],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3337,"children":3338},{"style":1139},[3339],{"type":999,"value":3340},"\"Invalid email format\"",{"type":993,"tag":1027,"props":3342,"children":3343},{"style":1054},[3344],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3346,"children":3347},{"class":1029,"line":247},[3348,3352,3356,3360,3365,3369,3373,3377,3381],{"type":993,"tag":1027,"props":3349,"children":3350},{"style":1122},[3351],{"type":999,"value":3204},{"type":993,"tag":1027,"props":3353,"children":3354},{"style":1054},[3355],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3357,"children":3358},{"style":1042},[3359],{"type":999,"value":1330},{"type":993,"tag":1027,"props":3361,"children":3362},{"style":1139},[3363],{"type":999,"value":3364},"\"✅ Valid email: ",{"type":993,"tag":1027,"props":3366,"children":3367},{"style":1122},[3368],{"type":999,"value":1340},{"type":993,"tag":1027,"props":3370,"children":3371},{"style":1054},[3372],{"type":999,"value":3057},{"type":993,"tag":1027,"props":3374,"children":3375},{"style":1122},[3376],{"type":999,"value":1350},{"type":993,"tag":1027,"props":3378,"children":3379},{"style":1139},[3380],{"type":999,"value":1477},{"type":993,"tag":1027,"props":3382,"children":3383},{"style":1054},[3384],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3386,"children":3387},{"class":1029,"line":256},[3388],{"type":993,"tag":1027,"props":3389,"children":3390},{"style":1054},[3391],{"type":999,"value":3246},{"type":993,"tag":1027,"props":3393,"children":3394},{"class":1029,"line":265},[3395,3399,3403,3407,3412],{"type":993,"tag":1027,"props":3396,"children":3397},{"style":1042},[3398],{"type":999,"value":3254},{"type":993,"tag":1027,"props":3400,"children":3401},{"style":1054},[3402],{"type":999,"value":3108},{"type":993,"tag":1027,"props":3404,"children":3405},{"style":1042},[3406],{"type":999,"value":3113},{"type":993,"tag":1027,"props":3408,"children":3409},{"style":1139},[3410],{"type":999,"value":3411}," \"age\"",{"type":993,"tag":1027,"props":3413,"children":3414},{"style":1054},[3415],{"type":999,"value":1070},{"type":993,"tag":1027,"props":3417,"children":3418},{"class":1029,"line":274},[3419,3424,3428,3432],{"type":993,"tag":1027,"props":3420,"children":3421},{"style":1054},[3422],{"type":999,"value":3423},"                age ",{"type":993,"tag":1027,"props":3425,"children":3426},{"style":1042},[3427],{"type":999,"value":1083},{"type":993,"tag":1027,"props":3429,"children":3430},{"style":1122},[3431],{"type":999,"value":3139},{"type":993,"tag":1027,"props":3433,"children":3434},{"style":1054},[3435],{"type":999,"value":3144},{"type":993,"tag":1027,"props":3437,"children":3438},{"class":1029,"line":284},[3439,3443,3447,3451,3456,3461,3466,3471],{"type":993,"tag":1027,"props":3440,"children":3441},{"style":1042},[3442],{"type":999,"value":3152},{"type":993,"tag":1027,"props":3444,"children":3445},{"style":1042},[3446],{"type":999,"value":3288},{"type":993,"tag":1027,"props":3448,"children":3449},{"style":1122},[3450],{"type":999,"value":2149},{"type":993,"tag":1027,"props":3452,"children":3453},{"style":1042},[3454],{"type":999,"value":3455}," \u003C=",{"type":993,"tag":1027,"props":3457,"children":3458},{"style":1054},[3459],{"type":999,"value":3460}," age ",{"type":993,"tag":1027,"props":3462,"children":3463},{"style":1042},[3464],{"type":999,"value":3465},"\u003C=",{"type":993,"tag":1027,"props":3467,"children":3468},{"style":1122},[3469],{"type":999,"value":3470}," 150",{"type":993,"tag":1027,"props":3472,"children":3473},{"style":1054},[3474],{"type":999,"value":1070},{"type":993,"tag":1027,"props":3476,"children":3477},{"class":1029,"line":293},[3478,3482,3486,3490,3495],{"type":993,"tag":1027,"props":3479,"children":3480},{"style":1042},[3481],{"type":999,"value":3178},{"type":993,"tag":1027,"props":3483,"children":3484},{"style":1122},[3485],{"type":999,"value":3183},{"type":993,"tag":1027,"props":3487,"children":3488},{"style":1054},[3489],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3491,"children":3492},{"style":1139},[3493],{"type":999,"value":3494},"\"Age must be between 0 and 150\"",{"type":993,"tag":1027,"props":3496,"children":3497},{"style":1054},[3498],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3500,"children":3501},{"class":1029,"line":302},[3502,3506,3510,3514,3519,3523,3528,3532,3536],{"type":993,"tag":1027,"props":3503,"children":3504},{"style":1122},[3505],{"type":999,"value":3204},{"type":993,"tag":1027,"props":3507,"children":3508},{"style":1054},[3509],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3511,"children":3512},{"style":1042},[3513],{"type":999,"value":1330},{"type":993,"tag":1027,"props":3515,"children":3516},{"style":1139},[3517],{"type":999,"value":3518},"\"✅ Valid age: ",{"type":993,"tag":1027,"props":3520,"children":3521},{"style":1122},[3522],{"type":999,"value":1340},{"type":993,"tag":1027,"props":3524,"children":3525},{"style":1054},[3526],{"type":999,"value":3527},"age",{"type":993,"tag":1027,"props":3529,"children":3530},{"style":1122},[3531],{"type":999,"value":1350},{"type":993,"tag":1027,"props":3533,"children":3534},{"style":1139},[3535],{"type":999,"value":1477},{"type":993,"tag":1027,"props":3537,"children":3538},{"style":1054},[3539],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3541,"children":3542},{"class":1029,"line":311},[3543],{"type":993,"tag":1027,"props":3544,"children":3545},{"style":1054},[3546],{"type":999,"value":3246},{"type":993,"tag":1027,"props":3548,"children":3549},{"class":1029,"line":320},[3550,3554,3558,3562],{"type":993,"tag":1027,"props":3551,"children":3552},{"style":1042},[3553],{"type":999,"value":2366},{"type":993,"tag":1027,"props":3555,"children":3556},{"style":1122},[3557],{"type":999,"value":3183},{"type":993,"tag":1027,"props":3559,"children":3560},{"style":1042},[3561],{"type":999,"value":1434},{"type":993,"tag":1027,"props":3563,"children":3564},{"style":1054},[3565],{"type":999,"value":1439},{"type":993,"tag":1027,"props":3567,"children":3568},{"class":1029,"line":329},[3569,3573,3577,3581,3586,3590,3594,3598,3602],{"type":993,"tag":1027,"props":3570,"children":3571},{"style":1122},[3572],{"type":999,"value":2307},{"type":993,"tag":1027,"props":3574,"children":3575},{"style":1054},[3576],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3578,"children":3579},{"style":1042},[3580],{"type":999,"value":1330},{"type":993,"tag":1027,"props":3582,"children":3583},{"style":1139},[3584],{"type":999,"value":3585},"\"❌ Invalid input: ",{"type":993,"tag":1027,"props":3587,"children":3588},{"style":1122},[3589],{"type":999,"value":1340},{"type":993,"tag":1027,"props":3591,"children":3592},{"style":1054},[3593],{"type":999,"value":1468},{"type":993,"tag":1027,"props":3595,"children":3596},{"style":1122},[3597],{"type":999,"value":1350},{"type":993,"tag":1027,"props":3599,"children":3600},{"style":1139},[3601],{"type":999,"value":1477},{"type":993,"tag":1027,"props":3603,"children":3604},{"style":1054},[3605],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3607,"children":3608},{"class":1029,"line":338},[3609,3613,3617,3621],{"type":993,"tag":1027,"props":3610,"children":3611},{"style":1042},[3612],{"type":999,"value":2366},{"type":993,"tag":1027,"props":3614,"children":3615},{"style":1122},[3616],{"type":999,"value":1429},{"type":993,"tag":1027,"props":3618,"children":3619},{"style":1042},[3620],{"type":999,"value":1434},{"type":993,"tag":1027,"props":3622,"children":3623},{"style":1054},[3624],{"type":999,"value":1439},{"type":993,"tag":1027,"props":3626,"children":3627},{"class":1029,"line":347},[3628,3632,3636,3640,3645,3649,3653,3657,3661],{"type":993,"tag":1027,"props":3629,"children":3630},{"style":1122},[3631],{"type":999,"value":2307},{"type":993,"tag":1027,"props":3633,"children":3634},{"style":1054},[3635],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3637,"children":3638},{"style":1042},[3639],{"type":999,"value":1330},{"type":993,"tag":1027,"props":3641,"children":3642},{"style":1139},[3643],{"type":999,"value":3644},"\"❌ Unexpected error: ",{"type":993,"tag":1027,"props":3646,"children":3647},{"style":1122},[3648],{"type":999,"value":1340},{"type":993,"tag":1027,"props":3650,"children":3651},{"style":1054},[3652],{"type":999,"value":1468},{"type":993,"tag":1027,"props":3654,"children":3655},{"style":1122},[3656],{"type":999,"value":1350},{"type":993,"tag":1027,"props":3658,"children":3659},{"style":1139},[3660],{"type":999,"value":1477},{"type":993,"tag":1027,"props":3662,"children":3663},{"style":1054},[3664],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3666,"children":3667},{"class":1029,"line":356},[3668],{"type":993,"tag":1027,"props":3669,"children":3670},{"emptyLinePlaceholder":13},[3671],{"type":999,"value":1178},{"type":993,"tag":1027,"props":3673,"children":3674},{"class":1029,"line":365},[3675],{"type":993,"tag":1027,"props":3676,"children":3677},{"style":1033},[3678],{"type":999,"value":3679},"# Test validation\n",{"type":993,"tag":1027,"props":3681,"children":3682},{"class":1029,"line":374},[3683,3688,3693,3697,3702],{"type":993,"tag":1027,"props":3684,"children":3685},{"style":1054},[3686],{"type":999,"value":3687},"validate_user_input(",{"type":993,"tag":1027,"props":3689,"children":3690},{"style":1139},[3691],{"type":999,"value":3692},"\"int\"",{"type":993,"tag":1027,"props":3694,"children":3695},{"style":1054},[3696],{"type":999,"value":1532},{"type":993,"tag":1027,"props":3698,"children":3699},{"style":1139},[3700],{"type":999,"value":3701},"\"Enter a number: \"",{"type":993,"tag":1027,"props":3703,"children":3704},{"style":1054},[3705],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3707,"children":3708},{"class":1029,"line":384},[3709,3713,3718,3722,3727],{"type":993,"tag":1027,"props":3710,"children":3711},{"style":1054},[3712],{"type":999,"value":3687},{"type":993,"tag":1027,"props":3714,"children":3715},{"style":1139},[3716],{"type":999,"value":3717},"\"email\"",{"type":993,"tag":1027,"props":3719,"children":3720},{"style":1054},[3721],{"type":999,"value":1532},{"type":993,"tag":1027,"props":3723,"children":3724},{"style":1139},[3725],{"type":999,"value":3726},"\"Enter email: \"",{"type":993,"tag":1027,"props":3728,"children":3729},{"style":1054},[3730],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3732,"children":3733},{"class":1029,"line":393},[3734,3738,3742,3746,3751],{"type":993,"tag":1027,"props":3735,"children":3736},{"style":1054},[3737],{"type":999,"value":3687},{"type":993,"tag":1027,"props":3739,"children":3740},{"style":1139},[3741],{"type":999,"value":2107},{"type":993,"tag":1027,"props":3743,"children":3744},{"style":1054},[3745],{"type":999,"value":1532},{"type":993,"tag":1027,"props":3747,"children":3748},{"style":1139},[3749],{"type":999,"value":3750},"\"Enter age: \"",{"type":993,"tag":1027,"props":3752,"children":3753},{"style":1054},[3754],{"type":999,"value":1360},{"type":993,"tag":1648,"props":3756,"children":3758},{"id":3757},"advanced-error-handling-techniques",[3759],{"type":999,"value":3760},"⚡ Advanced Error Handling Techniques",{"type":993,"tag":1923,"props":3762,"children":3764},{"id":3763},"exception-information-and-debugging",[3765],{"type":999,"value":3766},"Exception Information and Debugging",{"type":993,"tag":1002,"props":3768,"children":3769},{},[3770],{"type":999,"value":3771},"Exception objects contain valuable debugging information that helps identify error causes and locations.",{"type":993,"tag":1013,"props":3773,"children":3774},{},[3775],{"type":993,"tag":1017,"props":3776,"children":3778},{"className":1019,"code":3777,"language":6,"meta":8,"style":8},"import traceback\nimport sys\n\ndef demonstrate_exception_info():\n    \"\"\"Show how to extract detailed exception information\"\"\"\n    \n    try:\n        data = {\"users\": [{\"name\": \"Alice\"}]}\n        # This will cause a KeyError\n        email = data[\"users\"][0][\"email\"]\n    except KeyError as e:\n        print(f\"Exception Details:\")\n        print(f\"  Type: {type(e).__name__}\")\n        print(f\"  Message: {e}\")\n        print(f\"  Args: {e.args}\")\n        \n        print(f\"\\nTraceback Information:\")\n        exc_type, exc_value, exc_traceback = sys.exc_info()\n        print(f\"  File: {exc_traceback.tb_frame.f_code.co_filename}\")\n        print(f\"  Line: {exc_traceback.tb_lineno}\")\n        print(f\"  Function: {exc_traceback.tb_frame.f_code.co_name}\")\n        \n        print(f\"\\nFull Traceback:\")\n        traceback.print_exc()\n\ndemonstrate_exception_info()\n",[3779],{"type":993,"tag":1023,"props":3780,"children":3781},{"__ignoreMap":8},[3782,3795,3807,3814,3830,3838,3845,3856,3900,3908,3949,3968,3992,4035,4075,4116,4124,4156,4173,4214,4255,4296,4303,4335,4343,4350],{"type":993,"tag":1027,"props":3783,"children":3784},{"class":1029,"line":12},[3785,3790],{"type":993,"tag":1027,"props":3786,"children":3787},{"style":1042},[3788],{"type":999,"value":3789},"import",{"type":993,"tag":1027,"props":3791,"children":3792},{"style":1054},[3793],{"type":999,"value":3794}," traceback\n",{"type":993,"tag":1027,"props":3796,"children":3797},{"class":1029,"line":27},[3798,3802],{"type":993,"tag":1027,"props":3799,"children":3800},{"style":1042},[3801],{"type":999,"value":3789},{"type":993,"tag":1027,"props":3803,"children":3804},{"style":1054},[3805],{"type":999,"value":3806}," sys\n",{"type":993,"tag":1027,"props":3808,"children":3809},{"class":1029,"line":36},[3810],{"type":993,"tag":1027,"props":3811,"children":3812},{"emptyLinePlaceholder":13},[3813],{"type":999,"value":1178},{"type":993,"tag":1027,"props":3815,"children":3816},{"class":1029,"line":45},[3817,3821,3826],{"type":993,"tag":1027,"props":3818,"children":3819},{"style":1042},[3820],{"type":999,"value":1045},{"type":993,"tag":1027,"props":3822,"children":3823},{"style":1048},[3824],{"type":999,"value":3825}," demonstrate_exception_info",{"type":993,"tag":1027,"props":3827,"children":3828},{"style":1054},[3829],{"type":999,"value":1960},{"type":993,"tag":1027,"props":3831,"children":3832},{"class":1029,"line":54},[3833],{"type":993,"tag":1027,"props":3834,"children":3835},{"style":1139},[3836],{"type":999,"value":3837},"    \"\"\"Show how to extract detailed exception information\"\"\"\n",{"type":993,"tag":1027,"props":3839,"children":3840},{"class":1029,"line":63},[3841],{"type":993,"tag":1027,"props":3842,"children":3843},{"style":1054},[3844],{"type":999,"value":1976},{"type":993,"tag":1027,"props":3846,"children":3847},{"class":1029,"line":72},[3848,3852],{"type":993,"tag":1027,"props":3849,"children":3850},{"style":1042},[3851],{"type":999,"value":1065},{"type":993,"tag":1027,"props":3853,"children":3854},{"style":1054},[3855],{"type":999,"value":1070},{"type":993,"tag":1027,"props":3857,"children":3858},{"class":1029,"line":81},[3859,3864,3868,3873,3878,3883,3887,3891,3895],{"type":993,"tag":1027,"props":3860,"children":3861},{"style":1054},[3862],{"type":999,"value":3863},"        data ",{"type":993,"tag":1027,"props":3865,"children":3866},{"style":1042},[3867],{"type":999,"value":1083},{"type":993,"tag":1027,"props":3869,"children":3870},{"style":1054},[3871],{"type":999,"value":3872}," {",{"type":993,"tag":1027,"props":3874,"children":3875},{"style":1139},[3876],{"type":999,"value":3877},"\"users\"",{"type":993,"tag":1027,"props":3879,"children":3880},{"style":1054},[3881],{"type":999,"value":3882},": [{",{"type":993,"tag":1027,"props":3884,"children":3885},{"style":1139},[3886],{"type":999,"value":2087},{"type":993,"tag":1027,"props":3888,"children":3889},{"style":1054},[3890],{"type":999,"value":2092},{"type":993,"tag":1027,"props":3892,"children":3893},{"style":1139},[3894],{"type":999,"value":2097},{"type":993,"tag":1027,"props":3896,"children":3897},{"style":1054},[3898],{"type":999,"value":3899},"}]}\n",{"type":993,"tag":1027,"props":3901,"children":3902},{"class":1029,"line":91},[3903],{"type":993,"tag":1027,"props":3904,"children":3905},{"style":1033},[3906],{"type":999,"value":3907},"        # This will cause a KeyError\n",{"type":993,"tag":1027,"props":3909,"children":3910},{"class":1029,"line":100},[3911,3916,3920,3925,3929,3933,3937,3941,3945],{"type":993,"tag":1027,"props":3912,"children":3913},{"style":1054},[3914],{"type":999,"value":3915},"        email ",{"type":993,"tag":1027,"props":3917,"children":3918},{"style":1042},[3919],{"type":999,"value":1083},{"type":993,"tag":1027,"props":3921,"children":3922},{"style":1054},[3923],{"type":999,"value":3924}," data[",{"type":993,"tag":1027,"props":3926,"children":3927},{"style":1139},[3928],{"type":999,"value":3877},{"type":993,"tag":1027,"props":3930,"children":3931},{"style":1054},[3932],{"type":999,"value":2047},{"type":993,"tag":1027,"props":3934,"children":3935},{"style":1122},[3936],{"type":999,"value":1571},{"type":993,"tag":1027,"props":3938,"children":3939},{"style":1054},[3940],{"type":999,"value":2047},{"type":993,"tag":1027,"props":3942,"children":3943},{"style":1139},[3944],{"type":999,"value":3717},{"type":993,"tag":1027,"props":3946,"children":3947},{"style":1054},[3948],{"type":999,"value":2939},{"type":993,"tag":1027,"props":3950,"children":3951},{"class":1029,"line":109},[3952,3956,3960,3964],{"type":993,"tag":1027,"props":3953,"children":3954},{"style":1042},[3955],{"type":999,"value":1119},{"type":993,"tag":1027,"props":3957,"children":3958},{"style":1122},[3959],{"type":999,"value":2427},{"type":993,"tag":1027,"props":3961,"children":3962},{"style":1042},[3963],{"type":999,"value":1434},{"type":993,"tag":1027,"props":3965,"children":3966},{"style":1054},[3967],{"type":999,"value":1439},{"type":993,"tag":1027,"props":3969,"children":3970},{"class":1029,"line":118},[3971,3975,3979,3983,3988],{"type":993,"tag":1027,"props":3972,"children":3973},{"style":1122},[3974],{"type":999,"value":1320},{"type":993,"tag":1027,"props":3976,"children":3977},{"style":1054},[3978],{"type":999,"value":1325},{"type":993,"tag":1027,"props":3980,"children":3981},{"style":1042},[3982],{"type":999,"value":1330},{"type":993,"tag":1027,"props":3984,"children":3985},{"style":1139},[3986],{"type":999,"value":3987},"\"Exception Details:\"",{"type":993,"tag":1027,"props":3989,"children":3990},{"style":1054},[3991],{"type":999,"value":1360},{"type":993,"tag":1027,"props":3993,"children":3994},{"class":1029,"line":127},[3995,3999,4003,4007,4012,4017,4022,4027,4031],{"type":993,"tag":1027,"props":3996,"children":3997},{"style":1122},[3998],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4000,"children":4001},{"style":1054},[4002],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4004,"children":4005},{"style":1042},[4006],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4008,"children":4009},{"style":1139},[4010],{"type":999,"value":4011},"\"  Type: ",{"type":993,"tag":1027,"props":4013,"children":4014},{"style":1122},[4015],{"type":999,"value":4016},"{type",{"type":993,"tag":1027,"props":4018,"children":4019},{"style":1054},[4020],{"type":999,"value":4021},"(e).",{"type":993,"tag":1027,"props":4023,"children":4024},{"style":1122},[4025],{"type":999,"value":4026},"__name__}",{"type":993,"tag":1027,"props":4028,"children":4029},{"style":1139},[4030],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4032,"children":4033},{"style":1054},[4034],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4036,"children":4037},{"class":1029,"line":136},[4038,4042,4046,4050,4055,4059,4063,4067,4071],{"type":993,"tag":1027,"props":4039,"children":4040},{"style":1122},[4041],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4043,"children":4044},{"style":1054},[4045],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4047,"children":4048},{"style":1042},[4049],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4051,"children":4052},{"style":1139},[4053],{"type":999,"value":4054},"\"  Message: ",{"type":993,"tag":1027,"props":4056,"children":4057},{"style":1122},[4058],{"type":999,"value":1340},{"type":993,"tag":1027,"props":4060,"children":4061},{"style":1054},[4062],{"type":999,"value":1468},{"type":993,"tag":1027,"props":4064,"children":4065},{"style":1122},[4066],{"type":999,"value":1350},{"type":993,"tag":1027,"props":4068,"children":4069},{"style":1139},[4070],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4072,"children":4073},{"style":1054},[4074],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4076,"children":4077},{"class":1029,"line":146},[4078,4082,4086,4090,4095,4099,4104,4108,4112],{"type":993,"tag":1027,"props":4079,"children":4080},{"style":1122},[4081],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4083,"children":4084},{"style":1054},[4085],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4087,"children":4088},{"style":1042},[4089],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4091,"children":4092},{"style":1139},[4093],{"type":999,"value":4094},"\"  Args: ",{"type":993,"tag":1027,"props":4096,"children":4097},{"style":1122},[4098],{"type":999,"value":1340},{"type":993,"tag":1027,"props":4100,"children":4101},{"style":1054},[4102],{"type":999,"value":4103},"e.args",{"type":993,"tag":1027,"props":4105,"children":4106},{"style":1122},[4107],{"type":999,"value":1350},{"type":993,"tag":1027,"props":4109,"children":4110},{"style":1139},[4111],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4113,"children":4114},{"style":1054},[4115],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4117,"children":4118},{"class":1029,"line":155},[4119],{"type":993,"tag":1027,"props":4120,"children":4121},{"style":1054},[4122],{"type":999,"value":4123},"        \n",{"type":993,"tag":1027,"props":4125,"children":4126},{"class":1029,"line":164},[4127,4131,4135,4139,4143,4147,4152],{"type":993,"tag":1027,"props":4128,"children":4129},{"style":1122},[4130],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4132,"children":4133},{"style":1054},[4134],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4136,"children":4137},{"style":1042},[4138],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4140,"children":4141},{"style":1139},[4142],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4144,"children":4145},{"style":1122},[4146],{"type":999,"value":3043},{"type":993,"tag":1027,"props":4148,"children":4149},{"style":1139},[4150],{"type":999,"value":4151},"Traceback Information:\"",{"type":993,"tag":1027,"props":4153,"children":4154},{"style":1054},[4155],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4157,"children":4158},{"class":1029,"line":173},[4159,4164,4168],{"type":993,"tag":1027,"props":4160,"children":4161},{"style":1054},[4162],{"type":999,"value":4163},"        exc_type, exc_value, exc_traceback ",{"type":993,"tag":1027,"props":4165,"children":4166},{"style":1042},[4167],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4169,"children":4170},{"style":1054},[4171],{"type":999,"value":4172}," sys.exc_info()\n",{"type":993,"tag":1027,"props":4174,"children":4175},{"class":1029,"line":182},[4176,4180,4184,4188,4193,4197,4202,4206,4210],{"type":993,"tag":1027,"props":4177,"children":4178},{"style":1122},[4179],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4181,"children":4182},{"style":1054},[4183],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4185,"children":4186},{"style":1042},[4187],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4189,"children":4190},{"style":1139},[4191],{"type":999,"value":4192},"\"  File: ",{"type":993,"tag":1027,"props":4194,"children":4195},{"style":1122},[4196],{"type":999,"value":1340},{"type":993,"tag":1027,"props":4198,"children":4199},{"style":1054},[4200],{"type":999,"value":4201},"exc_traceback.tb_frame.f_code.co_filename",{"type":993,"tag":1027,"props":4203,"children":4204},{"style":1122},[4205],{"type":999,"value":1350},{"type":993,"tag":1027,"props":4207,"children":4208},{"style":1139},[4209],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4211,"children":4212},{"style":1054},[4213],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4215,"children":4216},{"class":1029,"line":191},[4217,4221,4225,4229,4234,4238,4243,4247,4251],{"type":993,"tag":1027,"props":4218,"children":4219},{"style":1122},[4220],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4222,"children":4223},{"style":1054},[4224],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4226,"children":4227},{"style":1042},[4228],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4230,"children":4231},{"style":1139},[4232],{"type":999,"value":4233},"\"  Line: ",{"type":993,"tag":1027,"props":4235,"children":4236},{"style":1122},[4237],{"type":999,"value":1340},{"type":993,"tag":1027,"props":4239,"children":4240},{"style":1054},[4241],{"type":999,"value":4242},"exc_traceback.tb_lineno",{"type":993,"tag":1027,"props":4244,"children":4245},{"style":1122},[4246],{"type":999,"value":1350},{"type":993,"tag":1027,"props":4248,"children":4249},{"style":1139},[4250],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4252,"children":4253},{"style":1054},[4254],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4256,"children":4257},{"class":1029,"line":201},[4258,4262,4266,4270,4275,4279,4284,4288,4292],{"type":993,"tag":1027,"props":4259,"children":4260},{"style":1122},[4261],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4263,"children":4264},{"style":1054},[4265],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4267,"children":4268},{"style":1042},[4269],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4271,"children":4272},{"style":1139},[4273],{"type":999,"value":4274},"\"  Function: ",{"type":993,"tag":1027,"props":4276,"children":4277},{"style":1122},[4278],{"type":999,"value":1340},{"type":993,"tag":1027,"props":4280,"children":4281},{"style":1054},[4282],{"type":999,"value":4283},"exc_traceback.tb_frame.f_code.co_name",{"type":993,"tag":1027,"props":4285,"children":4286},{"style":1122},[4287],{"type":999,"value":1350},{"type":993,"tag":1027,"props":4289,"children":4290},{"style":1139},[4291],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4293,"children":4294},{"style":1054},[4295],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4297,"children":4298},{"class":1029,"line":210},[4299],{"type":993,"tag":1027,"props":4300,"children":4301},{"style":1054},[4302],{"type":999,"value":4123},{"type":993,"tag":1027,"props":4304,"children":4305},{"class":1029,"line":219},[4306,4310,4314,4318,4322,4326,4331],{"type":993,"tag":1027,"props":4307,"children":4308},{"style":1122},[4309],{"type":999,"value":1320},{"type":993,"tag":1027,"props":4311,"children":4312},{"style":1054},[4313],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4315,"children":4316},{"style":1042},[4317],{"type":999,"value":1330},{"type":993,"tag":1027,"props":4319,"children":4320},{"style":1139},[4321],{"type":999,"value":1477},{"type":993,"tag":1027,"props":4323,"children":4324},{"style":1122},[4325],{"type":999,"value":3043},{"type":993,"tag":1027,"props":4327,"children":4328},{"style":1139},[4329],{"type":999,"value":4330},"Full Traceback:\"",{"type":993,"tag":1027,"props":4332,"children":4333},{"style":1054},[4334],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4336,"children":4337},{"class":1029,"line":228},[4338],{"type":993,"tag":1027,"props":4339,"children":4340},{"style":1054},[4341],{"type":999,"value":4342},"        traceback.print_exc()\n",{"type":993,"tag":1027,"props":4344,"children":4345},{"class":1029,"line":238},[4346],{"type":993,"tag":1027,"props":4347,"children":4348},{"emptyLinePlaceholder":13},[4349],{"type":999,"value":1178},{"type":993,"tag":1027,"props":4351,"children":4352},{"class":1029,"line":247},[4353],{"type":993,"tag":1027,"props":4354,"children":4355},{"style":1054},[4356],{"type":999,"value":4357},"demonstrate_exception_info()\n",{"type":993,"tag":1923,"props":4359,"children":4361},{"id":4360},"custom-exception-classes",[4362],{"type":999,"value":4363},"Custom Exception Classes",{"type":993,"tag":1002,"props":4365,"children":4366},{},[4367],{"type":999,"value":4368},"Creating custom exceptions provides specific error types for your application's unique error conditions.",{"type":993,"tag":1013,"props":4370,"children":4371},{},[4372],{"type":993,"tag":1017,"props":4373,"children":4375},{"className":1019,"code":4374,"language":6,"meta":8,"style":8},"class ValidationError(Exception):\n    \"\"\"Custom exception for validation failures\"\"\"\n    \n    def __init__(self, message, field_name=None, value=None):\n        super().__init__(message)\n        self.field_name = field_name\n        self.value = value\n        self.message = message\n    \n    def __str__(self):\n        if self.field_name:\n            return f\"Validation error in '{self.field_name}': {self.message}\"\n        return self.message\n\nclass BusinessLogicError(Exception):\n    \"\"\"Custom exception for business rule violations\"\"\"\n    \n    def __init__(self, message, error_code=None):\n        super().__init__(message)\n        self.error_code = error_code\n        self.message = message\n\ndef validate_user_registration(user_data):\n    \"\"\"Validate user registration with custom exceptions\"\"\"\n    \n    # Email validation\n    email = user_data.get('email', '')\n    if not email:\n        raise ValidationError(\"Email is required\", \"email\", email)\n    if '@' not in email:\n        raise ValidationError(\"Invalid email format\", \"email\", email)\n    \n    # Age validation\n    age = user_data.get('age')\n    if age is None:\n        raise ValidationError(\"Age is required\", \"age\", age)\n    if not isinstance(age, int):\n        raise ValidationError(\"Age must be a number\", \"age\", age)\n    if age \u003C 13:\n        raise BusinessLogicError(\"Users must be at least 13 years old\", \"AGE_RESTRICTION\")\n    \n    return True\n\n# Test custom exceptions\ntest_users = [\n    {\"email\": \"alice@example.com\", \"age\": 25},  # Valid\n    {\"email\": \"\", \"age\": 25},                   # Missing email\n    {\"email\": \"alice@example.com\", \"age\": 10},  # Too young\n    {\"email\": \"invalid-email\", \"age\": 25},      # Invalid email\n]\n\nfor i, user in enumerate(test_users):\n    try:\n        validate_user_registration(user)\n        print(f\"User {i+1}: Registration successful\")\n    except ValidationError as e:\n        print(f\"User {i+1}: Validation failed - {e}\")\n    except BusinessLogicError as e:\n        print(f\"User {i+1}: Business rule violation - {e} (Code: {e.error_code})\")\n",[4376],{"type":993,"tag":1023,"props":4377,"children":4378},{"__ignoreMap":8},[4379,4406,4414,4421,4465,4488,4510,4531,4552,4559,4576,4594,4648,4664,4671,4695,4703,4710,4738,4757,4778,4797,4804,4821,4829,4836,4844,4879,4896,4927,4951,4978,4985,4993,5018,5043,5072,5102,5130,5154,5184,5191,5203,5210,5218,5234,5282,5328,5372,5417,5424,5431,5458,5469,5477,5525,5545,5605,5625],{"type":993,"tag":1027,"props":4380,"children":4381},{"class":1029,"line":12},[4382,4387,4392,4396,4401],{"type":993,"tag":1027,"props":4383,"children":4384},{"style":1042},[4385],{"type":999,"value":4386},"class",{"type":993,"tag":1027,"props":4388,"children":4389},{"style":1048},[4390],{"type":999,"value":4391}," ValidationError",{"type":993,"tag":1027,"props":4393,"children":4394},{"style":1054},[4395],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4397,"children":4398},{"style":1122},[4399],{"type":999,"value":4400},"Exception",{"type":993,"tag":1027,"props":4402,"children":4403},{"style":1054},[4404],{"type":999,"value":4405},"):\n",{"type":993,"tag":1027,"props":4407,"children":4408},{"class":1029,"line":27},[4409],{"type":993,"tag":1027,"props":4410,"children":4411},{"style":1139},[4412],{"type":999,"value":4413},"    \"\"\"Custom exception for validation failures\"\"\"\n",{"type":993,"tag":1027,"props":4415,"children":4416},{"class":1029,"line":36},[4417],{"type":993,"tag":1027,"props":4418,"children":4419},{"style":1054},[4420],{"type":999,"value":1976},{"type":993,"tag":1027,"props":4422,"children":4423},{"class":1029,"line":45},[4424,4429,4434,4439,4443,4448,4453,4457,4461],{"type":993,"tag":1027,"props":4425,"children":4426},{"style":1042},[4427],{"type":999,"value":4428},"    def",{"type":993,"tag":1027,"props":4430,"children":4431},{"style":1122},[4432],{"type":999,"value":4433}," __init__",{"type":993,"tag":1027,"props":4435,"children":4436},{"style":1054},[4437],{"type":999,"value":4438},"(self, message, field_name",{"type":993,"tag":1027,"props":4440,"children":4441},{"style":1042},[4442],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4444,"children":4445},{"style":1122},[4446],{"type":999,"value":4447},"None",{"type":993,"tag":1027,"props":4449,"children":4450},{"style":1054},[4451],{"type":999,"value":4452},", value",{"type":993,"tag":1027,"props":4454,"children":4455},{"style":1042},[4456],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4458,"children":4459},{"style":1122},[4460],{"type":999,"value":4447},{"type":993,"tag":1027,"props":4462,"children":4463},{"style":1054},[4464],{"type":999,"value":4405},{"type":993,"tag":1027,"props":4466,"children":4467},{"class":1029,"line":54},[4468,4473,4478,4483],{"type":993,"tag":1027,"props":4469,"children":4470},{"style":1122},[4471],{"type":999,"value":4472},"        super",{"type":993,"tag":1027,"props":4474,"children":4475},{"style":1054},[4476],{"type":999,"value":4477},"().",{"type":993,"tag":1027,"props":4479,"children":4480},{"style":1122},[4481],{"type":999,"value":4482},"__init__",{"type":993,"tag":1027,"props":4484,"children":4485},{"style":1054},[4486],{"type":999,"value":4487},"(message)\n",{"type":993,"tag":1027,"props":4489,"children":4490},{"class":1029,"line":63},[4491,4496,4501,4505],{"type":993,"tag":1027,"props":4492,"children":4493},{"style":1122},[4494],{"type":999,"value":4495},"        self",{"type":993,"tag":1027,"props":4497,"children":4498},{"style":1054},[4499],{"type":999,"value":4500},".field_name ",{"type":993,"tag":1027,"props":4502,"children":4503},{"style":1042},[4504],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4506,"children":4507},{"style":1054},[4508],{"type":999,"value":4509}," field_name\n",{"type":993,"tag":1027,"props":4511,"children":4512},{"class":1029,"line":72},[4513,4517,4522,4526],{"type":993,"tag":1027,"props":4514,"children":4515},{"style":1122},[4516],{"type":999,"value":4495},{"type":993,"tag":1027,"props":4518,"children":4519},{"style":1054},[4520],{"type":999,"value":4521},".value ",{"type":993,"tag":1027,"props":4523,"children":4524},{"style":1042},[4525],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4527,"children":4528},{"style":1054},[4529],{"type":999,"value":4530}," value\n",{"type":993,"tag":1027,"props":4532,"children":4533},{"class":1029,"line":81},[4534,4538,4543,4547],{"type":993,"tag":1027,"props":4535,"children":4536},{"style":1122},[4537],{"type":999,"value":4495},{"type":993,"tag":1027,"props":4539,"children":4540},{"style":1054},[4541],{"type":999,"value":4542},".message ",{"type":993,"tag":1027,"props":4544,"children":4545},{"style":1042},[4546],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4548,"children":4549},{"style":1054},[4550],{"type":999,"value":4551}," message\n",{"type":993,"tag":1027,"props":4553,"children":4554},{"class":1029,"line":91},[4555],{"type":993,"tag":1027,"props":4556,"children":4557},{"style":1054},[4558],{"type":999,"value":1976},{"type":993,"tag":1027,"props":4560,"children":4561},{"class":1029,"line":100},[4562,4566,4571],{"type":993,"tag":1027,"props":4563,"children":4564},{"style":1042},[4565],{"type":999,"value":4428},{"type":993,"tag":1027,"props":4567,"children":4568},{"style":1122},[4569],{"type":999,"value":4570}," __str__",{"type":993,"tag":1027,"props":4572,"children":4573},{"style":1054},[4574],{"type":999,"value":4575},"(self):\n",{"type":993,"tag":1027,"props":4577,"children":4578},{"class":1029,"line":109},[4579,4584,4589],{"type":993,"tag":1027,"props":4580,"children":4581},{"style":1042},[4582],{"type":999,"value":4583},"        if",{"type":993,"tag":1027,"props":4585,"children":4586},{"style":1122},[4587],{"type":999,"value":4588}," self",{"type":993,"tag":1027,"props":4590,"children":4591},{"style":1054},[4592],{"type":999,"value":4593},".field_name:\n",{"type":993,"tag":1027,"props":4595,"children":4596},{"class":1029,"line":118},[4597,4601,4606,4611,4616,4621,4625,4630,4634,4639,4643],{"type":993,"tag":1027,"props":4598,"children":4599},{"style":1042},[4600],{"type":999,"value":1286},{"type":993,"tag":1027,"props":4602,"children":4603},{"style":1042},[4604],{"type":999,"value":4605}," f",{"type":993,"tag":1027,"props":4607,"children":4608},{"style":1139},[4609],{"type":999,"value":4610},"\"Validation error in '",{"type":993,"tag":1027,"props":4612,"children":4613},{"style":1122},[4614],{"type":999,"value":4615},"{self",{"type":993,"tag":1027,"props":4617,"children":4618},{"style":1054},[4619],{"type":999,"value":4620},".field_name",{"type":993,"tag":1027,"props":4622,"children":4623},{"style":1122},[4624],{"type":999,"value":1350},{"type":993,"tag":1027,"props":4626,"children":4627},{"style":1139},[4628],{"type":999,"value":4629},"': ",{"type":993,"tag":1027,"props":4631,"children":4632},{"style":1122},[4633],{"type":999,"value":4615},{"type":993,"tag":1027,"props":4635,"children":4636},{"style":1054},[4637],{"type":999,"value":4638},".message",{"type":993,"tag":1027,"props":4640,"children":4641},{"style":1122},[4642],{"type":999,"value":1350},{"type":993,"tag":1027,"props":4644,"children":4645},{"style":1139},[4646],{"type":999,"value":4647},"\"\n",{"type":993,"tag":1027,"props":4649,"children":4650},{"class":1029,"line":127},[4651,4655,4659],{"type":993,"tag":1027,"props":4652,"children":4653},{"style":1042},[4654],{"type":999,"value":1106},{"type":993,"tag":1027,"props":4656,"children":4657},{"style":1122},[4658],{"type":999,"value":4588},{"type":993,"tag":1027,"props":4660,"children":4661},{"style":1054},[4662],{"type":999,"value":4663},".message\n",{"type":993,"tag":1027,"props":4665,"children":4666},{"class":1029,"line":136},[4667],{"type":993,"tag":1027,"props":4668,"children":4669},{"emptyLinePlaceholder":13},[4670],{"type":999,"value":1178},{"type":993,"tag":1027,"props":4672,"children":4673},{"class":1029,"line":146},[4674,4678,4683,4687,4691],{"type":993,"tag":1027,"props":4675,"children":4676},{"style":1042},[4677],{"type":999,"value":4386},{"type":993,"tag":1027,"props":4679,"children":4680},{"style":1048},[4681],{"type":999,"value":4682}," BusinessLogicError",{"type":993,"tag":1027,"props":4684,"children":4685},{"style":1054},[4686],{"type":999,"value":1325},{"type":993,"tag":1027,"props":4688,"children":4689},{"style":1122},[4690],{"type":999,"value":4400},{"type":993,"tag":1027,"props":4692,"children":4693},{"style":1054},[4694],{"type":999,"value":4405},{"type":993,"tag":1027,"props":4696,"children":4697},{"class":1029,"line":155},[4698],{"type":993,"tag":1027,"props":4699,"children":4700},{"style":1139},[4701],{"type":999,"value":4702},"    \"\"\"Custom exception for business rule violations\"\"\"\n",{"type":993,"tag":1027,"props":4704,"children":4705},{"class":1029,"line":164},[4706],{"type":993,"tag":1027,"props":4707,"children":4708},{"style":1054},[4709],{"type":999,"value":1976},{"type":993,"tag":1027,"props":4711,"children":4712},{"class":1029,"line":173},[4713,4717,4721,4726,4730,4734],{"type":993,"tag":1027,"props":4714,"children":4715},{"style":1042},[4716],{"type":999,"value":4428},{"type":993,"tag":1027,"props":4718,"children":4719},{"style":1122},[4720],{"type":999,"value":4433},{"type":993,"tag":1027,"props":4722,"children":4723},{"style":1054},[4724],{"type":999,"value":4725},"(self, message, error_code",{"type":993,"tag":1027,"props":4727,"children":4728},{"style":1042},[4729],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4731,"children":4732},{"style":1122},[4733],{"type":999,"value":4447},{"type":993,"tag":1027,"props":4735,"children":4736},{"style":1054},[4737],{"type":999,"value":4405},{"type":993,"tag":1027,"props":4739,"children":4740},{"class":1029,"line":182},[4741,4745,4749,4753],{"type":993,"tag":1027,"props":4742,"children":4743},{"style":1122},[4744],{"type":999,"value":4472},{"type":993,"tag":1027,"props":4746,"children":4747},{"style":1054},[4748],{"type":999,"value":4477},{"type":993,"tag":1027,"props":4750,"children":4751},{"style":1122},[4752],{"type":999,"value":4482},{"type":993,"tag":1027,"props":4754,"children":4755},{"style":1054},[4756],{"type":999,"value":4487},{"type":993,"tag":1027,"props":4758,"children":4759},{"class":1029,"line":191},[4760,4764,4769,4773],{"type":993,"tag":1027,"props":4761,"children":4762},{"style":1122},[4763],{"type":999,"value":4495},{"type":993,"tag":1027,"props":4765,"children":4766},{"style":1054},[4767],{"type":999,"value":4768},".error_code ",{"type":993,"tag":1027,"props":4770,"children":4771},{"style":1042},[4772],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4774,"children":4775},{"style":1054},[4776],{"type":999,"value":4777}," error_code\n",{"type":993,"tag":1027,"props":4779,"children":4780},{"class":1029,"line":201},[4781,4785,4789,4793],{"type":993,"tag":1027,"props":4782,"children":4783},{"style":1122},[4784],{"type":999,"value":4495},{"type":993,"tag":1027,"props":4786,"children":4787},{"style":1054},[4788],{"type":999,"value":4542},{"type":993,"tag":1027,"props":4790,"children":4791},{"style":1042},[4792],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4794,"children":4795},{"style":1054},[4796],{"type":999,"value":4551},{"type":993,"tag":1027,"props":4798,"children":4799},{"class":1029,"line":210},[4800],{"type":993,"tag":1027,"props":4801,"children":4802},{"emptyLinePlaceholder":13},[4803],{"type":999,"value":1178},{"type":993,"tag":1027,"props":4805,"children":4806},{"class":1029,"line":219},[4807,4811,4816],{"type":993,"tag":1027,"props":4808,"children":4809},{"style":1042},[4810],{"type":999,"value":1045},{"type":993,"tag":1027,"props":4812,"children":4813},{"style":1048},[4814],{"type":999,"value":4815}," validate_user_registration",{"type":993,"tag":1027,"props":4817,"children":4818},{"style":1054},[4819],{"type":999,"value":4820},"(user_data):\n",{"type":993,"tag":1027,"props":4822,"children":4823},{"class":1029,"line":228},[4824],{"type":993,"tag":1027,"props":4825,"children":4826},{"style":1139},[4827],{"type":999,"value":4828},"    \"\"\"Validate user registration with custom exceptions\"\"\"\n",{"type":993,"tag":1027,"props":4830,"children":4831},{"class":1029,"line":238},[4832],{"type":993,"tag":1027,"props":4833,"children":4834},{"style":1054},[4835],{"type":999,"value":1976},{"type":993,"tag":1027,"props":4837,"children":4838},{"class":1029,"line":247},[4839],{"type":993,"tag":1027,"props":4840,"children":4841},{"style":1033},[4842],{"type":999,"value":4843},"    # Email validation\n",{"type":993,"tag":1027,"props":4845,"children":4846},{"class":1029,"line":256},[4847,4852,4856,4861,4866,4870,4875],{"type":993,"tag":1027,"props":4848,"children":4849},{"style":1054},[4850],{"type":999,"value":4851},"    email ",{"type":993,"tag":1027,"props":4853,"children":4854},{"style":1042},[4855],{"type":999,"value":1083},{"type":993,"tag":1027,"props":4857,"children":4858},{"style":1054},[4859],{"type":999,"value":4860}," user_data.get(",{"type":993,"tag":1027,"props":4862,"children":4863},{"style":1139},[4864],{"type":999,"value":4865},"'email'",{"type":993,"tag":1027,"props":4867,"children":4868},{"style":1054},[4869],{"type":999,"value":1532},{"type":993,"tag":1027,"props":4871,"children":4872},{"style":1139},[4873],{"type":999,"value":4874},"''",{"type":993,"tag":1027,"props":4876,"children":4877},{"style":1054},[4878],{"type":999,"value":1360},{"type":993,"tag":1027,"props":4880,"children":4881},{"class":1029,"line":265},[4882,4887,4891],{"type":993,"tag":1027,"props":4883,"children":4884},{"style":1042},[4885],{"type":999,"value":4886},"    if",{"type":993,"tag":1027,"props":4888,"children":4889},{"style":1042},[4890],{"type":999,"value":3288},{"type":993,"tag":1027,"props":4892,"children":4893},{"style":1054},[4894],{"type":999,"value":4895}," email:\n",{"type":993,"tag":1027,"props":4897,"children":4898},{"class":1029,"line":274},[4899,4904,4909,4914,4918,4922],{"type":993,"tag":1027,"props":4900,"children":4901},{"style":1042},[4902],{"type":999,"value":4903},"        raise",{"type":993,"tag":1027,"props":4905,"children":4906},{"style":1054},[4907],{"type":999,"value":4908}," ValidationError(",{"type":993,"tag":1027,"props":4910,"children":4911},{"style":1139},[4912],{"type":999,"value":4913},"\"Email is required\"",{"type":993,"tag":1027,"props":4915,"children":4916},{"style":1054},[4917],{"type":999,"value":1532},{"type":993,"tag":1027,"props":4919,"children":4920},{"style":1139},[4921],{"type":999,"value":3717},{"type":993,"tag":1027,"props":4923,"children":4924},{"style":1054},[4925],{"type":999,"value":4926},", email)\n",{"type":993,"tag":1027,"props":4928,"children":4929},{"class":1029,"line":284},[4930,4934,4939,4943,4947],{"type":993,"tag":1027,"props":4931,"children":4932},{"style":1042},[4933],{"type":999,"value":4886},{"type":993,"tag":1027,"props":4935,"children":4936},{"style":1139},[4937],{"type":999,"value":4938}," '@'",{"type":993,"tag":1027,"props":4940,"children":4941},{"style":1042},[4942],{"type":999,"value":3288},{"type":993,"tag":1027,"props":4944,"children":4945},{"style":1042},[4946],{"type":999,"value":3293},{"type":993,"tag":1027,"props":4948,"children":4949},{"style":1054},[4950],{"type":999,"value":4895},{"type":993,"tag":1027,"props":4952,"children":4953},{"class":1029,"line":293},[4954,4958,4962,4966,4970,4974],{"type":993,"tag":1027,"props":4955,"children":4956},{"style":1042},[4957],{"type":999,"value":4903},{"type":993,"tag":1027,"props":4959,"children":4960},{"style":1054},[4961],{"type":999,"value":4908},{"type":993,"tag":1027,"props":4963,"children":4964},{"style":1139},[4965],{"type":999,"value":3340},{"type":993,"tag":1027,"props":4967,"children":4968},{"style":1054},[4969],{"type":999,"value":1532},{"type":993,"tag":1027,"props":4971,"children":4972},{"style":1139},[4973],{"type":999,"value":3717},{"type":993,"tag":1027,"props":4975,"children":4976},{"style":1054},[4977],{"type":999,"value":4926},{"type":993,"tag":1027,"props":4979,"children":4980},{"class":1029,"line":302},[4981],{"type":993,"tag":1027,"props":4982,"children":4983},{"style":1054},[4984],{"type":999,"value":1976},{"type":993,"tag":1027,"props":4986,"children":4987},{"class":1029,"line":311},[4988],{"type":993,"tag":1027,"props":4989,"children":4990},{"style":1033},[4991],{"type":999,"value":4992},"    # Age validation\n",{"type":993,"tag":1027,"props":4994,"children":4995},{"class":1029,"line":320},[4996,5001,5005,5009,5014],{"type":993,"tag":1027,"props":4997,"children":4998},{"style":1054},[4999],{"type":999,"value":5000},"    age ",{"type":993,"tag":1027,"props":5002,"children":5003},{"style":1042},[5004],{"type":999,"value":1083},{"type":993,"tag":1027,"props":5006,"children":5007},{"style":1054},[5008],{"type":999,"value":4860},{"type":993,"tag":1027,"props":5010,"children":5011},{"style":1139},[5012],{"type":999,"value":5013},"'age'",{"type":993,"tag":1027,"props":5015,"children":5016},{"style":1054},[5017],{"type":999,"value":1360},{"type":993,"tag":1027,"props":5019,"children":5020},{"class":1029,"line":329},[5021,5025,5029,5034,5039],{"type":993,"tag":1027,"props":5022,"children":5023},{"style":1042},[5024],{"type":999,"value":4886},{"type":993,"tag":1027,"props":5026,"children":5027},{"style":1054},[5028],{"type":999,"value":3460},{"type":993,"tag":1027,"props":5030,"children":5031},{"style":1042},[5032],{"type":999,"value":5033},"is",{"type":993,"tag":1027,"props":5035,"children":5036},{"style":1122},[5037],{"type":999,"value":5038}," None",{"type":993,"tag":1027,"props":5040,"children":5041},{"style":1054},[5042],{"type":999,"value":1070},{"type":993,"tag":1027,"props":5044,"children":5045},{"class":1029,"line":338},[5046,5050,5054,5059,5063,5067],{"type":993,"tag":1027,"props":5047,"children":5048},{"style":1042},[5049],{"type":999,"value":4903},{"type":993,"tag":1027,"props":5051,"children":5052},{"style":1054},[5053],{"type":999,"value":4908},{"type":993,"tag":1027,"props":5055,"children":5056},{"style":1139},[5057],{"type":999,"value":5058},"\"Age is required\"",{"type":993,"tag":1027,"props":5060,"children":5061},{"style":1054},[5062],{"type":999,"value":1532},{"type":993,"tag":1027,"props":5064,"children":5065},{"style":1139},[5066],{"type":999,"value":2107},{"type":993,"tag":1027,"props":5068,"children":5069},{"style":1054},[5070],{"type":999,"value":5071},", age)\n",{"type":993,"tag":1027,"props":5073,"children":5074},{"class":1029,"line":347},[5075,5079,5083,5088,5093,5098],{"type":993,"tag":1027,"props":5076,"children":5077},{"style":1042},[5078],{"type":999,"value":4886},{"type":993,"tag":1027,"props":5080,"children":5081},{"style":1042},[5082],{"type":999,"value":3288},{"type":993,"tag":1027,"props":5084,"children":5085},{"style":1122},[5086],{"type":999,"value":5087}," isinstance",{"type":993,"tag":1027,"props":5089,"children":5090},{"style":1054},[5091],{"type":999,"value":5092},"(age, ",{"type":993,"tag":1027,"props":5094,"children":5095},{"style":1122},[5096],{"type":999,"value":5097},"int",{"type":993,"tag":1027,"props":5099,"children":5100},{"style":1054},[5101],{"type":999,"value":4405},{"type":993,"tag":1027,"props":5103,"children":5104},{"class":1029,"line":356},[5105,5109,5113,5118,5122,5126],{"type":993,"tag":1027,"props":5106,"children":5107},{"style":1042},[5108],{"type":999,"value":4903},{"type":993,"tag":1027,"props":5110,"children":5111},{"style":1054},[5112],{"type":999,"value":4908},{"type":993,"tag":1027,"props":5114,"children":5115},{"style":1139},[5116],{"type":999,"value":5117},"\"Age must be a number\"",{"type":993,"tag":1027,"props":5119,"children":5120},{"style":1054},[5121],{"type":999,"value":1532},{"type":993,"tag":1027,"props":5123,"children":5124},{"style":1139},[5125],{"type":999,"value":2107},{"type":993,"tag":1027,"props":5127,"children":5128},{"style":1054},[5129],{"type":999,"value":5071},{"type":993,"tag":1027,"props":5131,"children":5132},{"class":1029,"line":365},[5133,5137,5141,5145,5150],{"type":993,"tag":1027,"props":5134,"children":5135},{"style":1042},[5136],{"type":999,"value":4886},{"type":993,"tag":1027,"props":5138,"children":5139},{"style":1054},[5140],{"type":999,"value":3460},{"type":993,"tag":1027,"props":5142,"children":5143},{"style":1042},[5144],{"type":999,"value":3162},{"type":993,"tag":1027,"props":5146,"children":5147},{"style":1122},[5148],{"type":999,"value":5149}," 13",{"type":993,"tag":1027,"props":5151,"children":5152},{"style":1054},[5153],{"type":999,"value":1070},{"type":993,"tag":1027,"props":5155,"children":5156},{"class":1029,"line":374},[5157,5161,5166,5171,5175,5180],{"type":993,"tag":1027,"props":5158,"children":5159},{"style":1042},[5160],{"type":999,"value":4903},{"type":993,"tag":1027,"props":5162,"children":5163},{"style":1054},[5164],{"type":999,"value":5165}," BusinessLogicError(",{"type":993,"tag":1027,"props":5167,"children":5168},{"style":1139},[5169],{"type":999,"value":5170},"\"Users must be at least 13 years old\"",{"type":993,"tag":1027,"props":5172,"children":5173},{"style":1054},[5174],{"type":999,"value":1532},{"type":993,"tag":1027,"props":5176,"children":5177},{"style":1139},[5178],{"type":999,"value":5179},"\"AGE_RESTRICTION\"",{"type":993,"tag":1027,"props":5181,"children":5182},{"style":1054},[5183],{"type":999,"value":1360},{"type":993,"tag":1027,"props":5185,"children":5186},{"class":1029,"line":384},[5187],{"type":993,"tag":1027,"props":5188,"children":5189},{"style":1054},[5190],{"type":999,"value":1976},{"type":993,"tag":1027,"props":5192,"children":5193},{"class":1029,"line":393},[5194,5198],{"type":993,"tag":1027,"props":5195,"children":5196},{"style":1042},[5197],{"type":999,"value":1489},{"type":993,"tag":1027,"props":5199,"children":5200},{"style":1122},[5201],{"type":999,"value":5202}," True\n",{"type":993,"tag":1027,"props":5204,"children":5205},{"class":1029,"line":402},[5206],{"type":993,"tag":1027,"props":5207,"children":5208},{"emptyLinePlaceholder":13},[5209],{"type":999,"value":1178},{"type":993,"tag":1027,"props":5211,"children":5212},{"class":1029,"line":411},[5213],{"type":993,"tag":1027,"props":5214,"children":5215},{"style":1033},[5216],{"type":999,"value":5217},"# Test custom exceptions\n",{"type":993,"tag":1027,"props":5219,"children":5220},{"class":1029,"line":420},[5221,5226,5230],{"type":993,"tag":1027,"props":5222,"children":5223},{"style":1054},[5224],{"type":999,"value":5225},"test_users ",{"type":993,"tag":1027,"props":5227,"children":5228},{"style":1042},[5229],{"type":999,"value":1083},{"type":993,"tag":1027,"props":5231,"children":5232},{"style":1054},[5233],{"type":999,"value":1993},{"type":993,"tag":1027,"props":5235,"children":5236},{"class":1029,"line":429},[5237,5242,5246,5250,5255,5259,5263,5267,5272,5277],{"type":993,"tag":1027,"props":5238,"children":5239},{"style":1054},[5240],{"type":999,"value":5241},"    {",{"type":993,"tag":1027,"props":5243,"children":5244},{"style":1139},[5245],{"type":999,"value":3717},{"type":993,"tag":1027,"props":5247,"children":5248},{"style":1054},[5249],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5251,"children":5252},{"style":1139},[5253],{"type":999,"value":5254},"\"alice@example.com\"",{"type":993,"tag":1027,"props":5256,"children":5257},{"style":1054},[5258],{"type":999,"value":1532},{"type":993,"tag":1027,"props":5260,"children":5261},{"style":1139},[5262],{"type":999,"value":2107},{"type":993,"tag":1027,"props":5264,"children":5265},{"style":1054},[5266],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5268,"children":5269},{"style":1122},[5270],{"type":999,"value":5271},"25",{"type":993,"tag":1027,"props":5273,"children":5274},{"style":1054},[5275],{"type":999,"value":5276},"},  ",{"type":993,"tag":1027,"props":5278,"children":5279},{"style":1033},[5280],{"type":999,"value":5281},"# Valid\n",{"type":993,"tag":1027,"props":5283,"children":5284},{"class":1029,"line":438},[5285,5289,5293,5297,5302,5306,5310,5314,5318,5323],{"type":993,"tag":1027,"props":5286,"children":5287},{"style":1054},[5288],{"type":999,"value":5241},{"type":993,"tag":1027,"props":5290,"children":5291},{"style":1139},[5292],{"type":999,"value":3717},{"type":993,"tag":1027,"props":5294,"children":5295},{"style":1054},[5296],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5298,"children":5299},{"style":1139},[5300],{"type":999,"value":5301},"\"\"",{"type":993,"tag":1027,"props":5303,"children":5304},{"style":1054},[5305],{"type":999,"value":1532},{"type":993,"tag":1027,"props":5307,"children":5308},{"style":1139},[5309],{"type":999,"value":2107},{"type":993,"tag":1027,"props":5311,"children":5312},{"style":1054},[5313],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5315,"children":5316},{"style":1122},[5317],{"type":999,"value":5271},{"type":993,"tag":1027,"props":5319,"children":5320},{"style":1054},[5321],{"type":999,"value":5322},"},                   ",{"type":993,"tag":1027,"props":5324,"children":5325},{"style":1033},[5326],{"type":999,"value":5327},"# Missing email\n",{"type":993,"tag":1027,"props":5329,"children":5330},{"class":1029,"line":447},[5331,5335,5339,5343,5347,5351,5355,5359,5363,5367],{"type":993,"tag":1027,"props":5332,"children":5333},{"style":1054},[5334],{"type":999,"value":5241},{"type":993,"tag":1027,"props":5336,"children":5337},{"style":1139},[5338],{"type":999,"value":3717},{"type":993,"tag":1027,"props":5340,"children":5341},{"style":1054},[5342],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5344,"children":5345},{"style":1139},[5346],{"type":999,"value":5254},{"type":993,"tag":1027,"props":5348,"children":5349},{"style":1054},[5350],{"type":999,"value":1532},{"type":993,"tag":1027,"props":5352,"children":5353},{"style":1139},[5354],{"type":999,"value":2107},{"type":993,"tag":1027,"props":5356,"children":5357},{"style":1054},[5358],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5360,"children":5361},{"style":1122},[5362],{"type":999,"value":1527},{"type":993,"tag":1027,"props":5364,"children":5365},{"style":1054},[5366],{"type":999,"value":5276},{"type":993,"tag":1027,"props":5368,"children":5369},{"style":1033},[5370],{"type":999,"value":5371},"# Too young\n",{"type":993,"tag":1027,"props":5373,"children":5374},{"class":1029,"line":457},[5375,5379,5383,5387,5391,5395,5399,5403,5407,5412],{"type":993,"tag":1027,"props":5376,"children":5377},{"style":1054},[5378],{"type":999,"value":5241},{"type":993,"tag":1027,"props":5380,"children":5381},{"style":1139},[5382],{"type":999,"value":3717},{"type":993,"tag":1027,"props":5384,"children":5385},{"style":1054},[5386],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5388,"children":5389},{"style":1139},[5390],{"type":999,"value":2880},{"type":993,"tag":1027,"props":5392,"children":5393},{"style":1054},[5394],{"type":999,"value":1532},{"type":993,"tag":1027,"props":5396,"children":5397},{"style":1139},[5398],{"type":999,"value":2107},{"type":993,"tag":1027,"props":5400,"children":5401},{"style":1054},[5402],{"type":999,"value":2092},{"type":993,"tag":1027,"props":5404,"children":5405},{"style":1122},[5406],{"type":999,"value":5271},{"type":993,"tag":1027,"props":5408,"children":5409},{"style":1054},[5410],{"type":999,"value":5411},"},      ",{"type":993,"tag":1027,"props":5413,"children":5414},{"style":1033},[5415],{"type":999,"value":5416},"# Invalid email\n",{"type":993,"tag":1027,"props":5418,"children":5419},{"class":1029,"line":466},[5420],{"type":993,"tag":1027,"props":5421,"children":5422},{"style":1054},[5423],{"type":999,"value":2939},{"type":993,"tag":1027,"props":5425,"children":5426},{"class":1029,"line":475},[5427],{"type":993,"tag":1027,"props":5428,"children":5429},{"emptyLinePlaceholder":13},[5430],{"type":999,"value":1178},{"type":993,"tag":1027,"props":5432,"children":5433},{"class":1029,"line":484},[5434,5439,5444,5448,5453],{"type":993,"tag":1027,"props":5435,"children":5436},{"style":1042},[5437],{"type":999,"value":5438},"for",{"type":993,"tag":1027,"props":5440,"children":5441},{"style":1054},[5442],{"type":999,"value":5443}," i, user ",{"type":993,"tag":1027,"props":5445,"children":5446},{"style":1042},[5447],{"type":999,"value":2265},{"type":993,"tag":1027,"props":5449,"children":5450},{"style":1122},[5451],{"type":999,"value":5452}," enumerate",{"type":993,"tag":1027,"props":5454,"children":5455},{"style":1054},[5456],{"type":999,"value":5457},"(test_users):\n",{"type":993,"tag":1027,"props":5459,"children":5460},{"class":1029,"line":493},[5461,5465],{"type":993,"tag":1027,"props":5462,"children":5463},{"style":1042},[5464],{"type":999,"value":1065},{"type":993,"tag":1027,"props":5466,"children":5467},{"style":1054},[5468],{"type":999,"value":1070},{"type":993,"tag":1027,"props":5470,"children":5471},{"class":1029,"line":502},[5472],{"type":993,"tag":1027,"props":5473,"children":5474},{"style":1054},[5475],{"type":999,"value":5476},"        validate_user_registration(user)\n",{"type":993,"tag":1027,"props":5478,"children":5479},{"class":1029,"line":511},[5480,5484,5488,5492,5497,5501,5506,5511,5516,5521],{"type":993,"tag":1027,"props":5481,"children":5482},{"style":1122},[5483],{"type":999,"value":1320},{"type":993,"tag":1027,"props":5485,"children":5486},{"style":1054},[5487],{"type":999,"value":1325},{"type":993,"tag":1027,"props":5489,"children":5490},{"style":1042},[5491],{"type":999,"value":1330},{"type":993,"tag":1027,"props":5493,"children":5494},{"style":1139},[5495],{"type":999,"value":5496},"\"User ",{"type":993,"tag":1027,"props":5498,"children":5499},{"style":1122},[5500],{"type":999,"value":1340},{"type":993,"tag":1027,"props":5502,"children":5503},{"style":1054},[5504],{"type":999,"value":5505},"i",{"type":993,"tag":1027,"props":5507,"children":5508},{"style":1042},[5509],{"type":999,"value":5510},"+",{"type":993,"tag":1027,"props":5512,"children":5513},{"style":1122},[5514],{"type":999,"value":5515},"1}",{"type":993,"tag":1027,"props":5517,"children":5518},{"style":1139},[5519],{"type":999,"value":5520},": Registration successful\"",{"type":993,"tag":1027,"props":5522,"children":5523},{"style":1054},[5524],{"type":999,"value":1360},{"type":993,"tag":1027,"props":5526,"children":5527},{"class":1029,"line":520},[5528,5532,5537,5541],{"type":993,"tag":1027,"props":5529,"children":5530},{"style":1042},[5531],{"type":999,"value":1119},{"type":993,"tag":1027,"props":5533,"children":5534},{"style":1054},[5535],{"type":999,"value":5536}," ValidationError ",{"type":993,"tag":1027,"props":5538,"children":5539},{"style":1042},[5540],{"type":999,"value":1247},{"type":993,"tag":1027,"props":5542,"children":5543},{"style":1054},[5544],{"type":999,"value":1439},{"type":993,"tag":1027,"props":5546,"children":5547},{"class":1029,"line":530},[5548,5552,5556,5560,5564,5568,5572,5576,5580,5585,5589,5593,5597,5601],{"type":993,"tag":1027,"props":5549,"children":5550},{"style":1122},[5551],{"type":999,"value":1320},{"type":993,"tag":1027,"props":5553,"children":5554},{"style":1054},[5555],{"type":999,"value":1325},{"type":993,"tag":1027,"props":5557,"children":5558},{"style":1042},[5559],{"type":999,"value":1330},{"type":993,"tag":1027,"props":5561,"children":5562},{"style":1139},[5563],{"type":999,"value":5496},{"type":993,"tag":1027,"props":5565,"children":5566},{"style":1122},[5567],{"type":999,"value":1340},{"type":993,"tag":1027,"props":5569,"children":5570},{"style":1054},[5571],{"type":999,"value":5505},{"type":993,"tag":1027,"props":5573,"children":5574},{"style":1042},[5575],{"type":999,"value":5510},{"type":993,"tag":1027,"props":5577,"children":5578},{"style":1122},[5579],{"type":999,"value":5515},{"type":993,"tag":1027,"props":5581,"children":5582},{"style":1139},[5583],{"type":999,"value":5584},": Validation failed - ",{"type":993,"tag":1027,"props":5586,"children":5587},{"style":1122},[5588],{"type":999,"value":1340},{"type":993,"tag":1027,"props":5590,"children":5591},{"style":1054},[5592],{"type":999,"value":1468},{"type":993,"tag":1027,"props":5594,"children":5595},{"style":1122},[5596],{"type":999,"value":1350},{"type":993,"tag":1027,"props":5598,"children":5599},{"style":1139},[5600],{"type":999,"value":1477},{"type":993,"tag":1027,"props":5602,"children":5603},{"style":1054},[5604],{"type":999,"value":1360},{"type":993,"tag":1027,"props":5606,"children":5607},{"class":1029,"line":539},[5608,5612,5617,5621],{"type":993,"tag":1027,"props":5609,"children":5610},{"style":1042},[5611],{"type":999,"value":1119},{"type":993,"tag":1027,"props":5613,"children":5614},{"style":1054},[5615],{"type":999,"value":5616}," BusinessLogicError ",{"type":993,"tag":1027,"props":5618,"children":5619},{"style":1042},[5620],{"type":999,"value":1247},{"type":993,"tag":1027,"props":5622,"children":5623},{"style":1054},[5624],{"type":999,"value":1439},{"type":993,"tag":1027,"props":5626,"children":5627},{"class":1029,"line":548},[5628,5632,5636,5640,5644,5648,5652,5656,5660,5665,5669,5673,5677,5682,5686,5691,5695,5700],{"type":993,"tag":1027,"props":5629,"children":5630},{"style":1122},[5631],{"type":999,"value":1320},{"type":993,"tag":1027,"props":5633,"children":5634},{"style":1054},[5635],{"type":999,"value":1325},{"type":993,"tag":1027,"props":5637,"children":5638},{"style":1042},[5639],{"type":999,"value":1330},{"type":993,"tag":1027,"props":5641,"children":5642},{"style":1139},[5643],{"type":999,"value":5496},{"type":993,"tag":1027,"props":5645,"children":5646},{"style":1122},[5647],{"type":999,"value":1340},{"type":993,"tag":1027,"props":5649,"children":5650},{"style":1054},[5651],{"type":999,"value":5505},{"type":993,"tag":1027,"props":5653,"children":5654},{"style":1042},[5655],{"type":999,"value":5510},{"type":993,"tag":1027,"props":5657,"children":5658},{"style":1122},[5659],{"type":999,"value":5515},{"type":993,"tag":1027,"props":5661,"children":5662},{"style":1139},[5663],{"type":999,"value":5664},": Business rule violation - ",{"type":993,"tag":1027,"props":5666,"children":5667},{"style":1122},[5668],{"type":999,"value":1340},{"type":993,"tag":1027,"props":5670,"children":5671},{"style":1054},[5672],{"type":999,"value":1468},{"type":993,"tag":1027,"props":5674,"children":5675},{"style":1122},[5676],{"type":999,"value":1350},{"type":993,"tag":1027,"props":5678,"children":5679},{"style":1139},[5680],{"type":999,"value":5681}," (Code: ",{"type":993,"tag":1027,"props":5683,"children":5684},{"style":1122},[5685],{"type":999,"value":1340},{"type":993,"tag":1027,"props":5687,"children":5688},{"style":1054},[5689],{"type":999,"value":5690},"e.error_code",{"type":993,"tag":1027,"props":5692,"children":5693},{"style":1122},[5694],{"type":999,"value":1350},{"type":993,"tag":1027,"props":5696,"children":5697},{"style":1139},[5698],{"type":999,"value":5699},")\"",{"type":993,"tag":1027,"props":5701,"children":5702},{"style":1054},[5703],{"type":999,"value":1360},{"type":993,"tag":1648,"props":5705,"children":5707},{"id":5706},"error-handling-patterns",[5708],{"type":999,"value":5709},"🚀 Error Handling Patterns",{"type":993,"tag":1923,"props":5711,"children":5713},{"id":5712},"graceful-degradation-and-recovery",[5714],{"type":999,"value":5715},"Graceful Degradation and Recovery",{"type":993,"tag":1002,"props":5717,"children":5718},{},[5719],{"type":999,"value":5720},"Implement error handling that maintains functionality even when some features fail.",{"type":993,"tag":1013,"props":5722,"children":5723},{},[5724],{"type":993,"tag":1017,"props":5725,"children":5727},{"className":1019,"code":5726,"language":6,"meta":8,"style":8},"import json\nimport logging\n\nclass ConfigurationManager:\n    \"\"\"Configuration manager with graceful error handling\"\"\"\n    \n    def __init__(self, config_file=\"app_config.json\"):\n        self.config_file = config_file\n        self.config = {}\n        self.load_config()\n    \n    def load_config(self):\n        \"\"\"Load configuration with fallback to defaults\"\"\"\n        try:\n            with open(self.config_file, 'r') as file:\n                self.config = json.load(file)\n                print(f\"✅ Configuration loaded from {self.config_file}\")\n        except FileNotFoundError:\n            print(f\"⚠️ Config file not found. Using defaults.\")\n            self.config = self.get_default_config()\n        except json.JSONDecodeError as e:\n            print(f\"⚠️ Invalid JSON in config file: {e}\")\n            print(\"Using default configuration.\")\n            self.config = self.get_default_config()\n        except PermissionError:\n            print(f\"⚠️ Permission denied reading config file.\")\n            self.config = self.get_default_config()\n        except Exception as e:\n            print(f\"⚠️ Unexpected error loading config: {e}\")\n            self.config = self.get_default_config()\n    \n    def get_default_config(self):\n        \"\"\"Return default configuration\"\"\"\n        return {\n            \"database\": {\"host\": \"localhost\", \"port\": 5432},\n            \"cache\": {\"enabled\": True, \"timeout\": 300},\n            \"logging\": {\"level\": \"INFO\", \"file\": \"app.log\"}\n        }\n    \n    def get(self, key, default=None):\n        \"\"\"Get configuration value with error handling\"\"\"\n        try:\n            keys = key.split('.')\n            value = self.config\n            for k in keys:\n                value = value[k]\n            return value\n        except (KeyError, TypeError):\n            print(f\"⚠️ Configuration key '{key}' not found. Using default: {default}\")\n            return default\n    \n    def save_config(self):\n        \"\"\"Save configuration with error handling\"\"\"\n        try:\n            with open(self.config_file, 'w') as file:\n                json.dump(self.config, file, indent=2)\n            print(f\"✅ Configuration saved to {self.config_file}\")\n            return True\n        except PermissionError:\n            print(f\"❌ Permission denied writing to {self.config_file}\")\n            return False\n        except Exception as e:\n            print(f\"❌ Error saving configuration: {e}\")\n            return False\n\n# Test graceful degradation\nconfig_manager = ConfigurationManager(\"nonexistent_config.json\")\n\n# Get configuration values\ndb_host = config_manager.get(\"database.host\", \"localhost\")\ncache_enabled = config_manager.get(\"cache.enabled\", False)\ninvalid_setting = config_manager.get(\"invalid.key\", \"fallback_value\")\n\nprint(f\"\\nConfiguration values:\")\nprint(f\"Database host: {db_host}\")\nprint(f\"Cache enabled: {cache_enabled}\")\nprint(f\"Invalid setting: {invalid_setting}\")\n",[5728],{"type":993,"tag":1023,"props":5729,"children":5730},{"__ignoreMap":8},[5731,5743,5755,5762,5778,5786,5793,5822,5843,5864,5876,5883,5899,5907,5918,5964,5994,6035,6050,6074,6099,6119,6159,6179,6202,6217,6241,6264,6283,6323,6346,6353,6369,6377,6388,6437,6485,6534,6542,6549,6578,6586,6597,6623,6644,6666,6682,6693,6721,6780,6792,6799,6815,6823,6834,6878,6920,6960,6971,6986,7026,7038,7057,7097,7108,7115,7123,7149,7156,7164,7198,7232,7266,7273,7305,7346,7387],{"type":993,"tag":1027,"props":5732,"children":5733},{"class":1029,"line":12},[5734,5738],{"type":993,"tag":1027,"props":5735,"children":5736},{"style":1042},[5737],{"type":999,"value":3789},{"type":993,"tag":1027,"props":5739,"children":5740},{"style":1054},[5741],{"type":999,"value":5742}," json\n",{"type":993,"tag":1027,"props":5744,"children":5745},{"class":1029,"line":27},[5746,5750],{"type":993,"tag":1027,"props":5747,"children":5748},{"style":1042},[5749],{"type":999,"value":3789},{"type":993,"tag":1027,"props":5751,"children":5752},{"style":1054},[5753],{"type":999,"value":5754}," logging\n",{"type":993,"tag":1027,"props":5756,"children":5757},{"class":1029,"line":36},[5758],{"type":993,"tag":1027,"props":5759,"children":5760},{"emptyLinePlaceholder":13},[5761],{"type":999,"value":1178},{"type":993,"tag":1027,"props":5763,"children":5764},{"class":1029,"line":45},[5765,5769,5774],{"type":993,"tag":1027,"props":5766,"children":5767},{"style":1042},[5768],{"type":999,"value":4386},{"type":993,"tag":1027,"props":5770,"children":5771},{"style":1048},[5772],{"type":999,"value":5773}," ConfigurationManager",{"type":993,"tag":1027,"props":5775,"children":5776},{"style":1054},[5777],{"type":999,"value":1070},{"type":993,"tag":1027,"props":5779,"children":5780},{"class":1029,"line":54},[5781],{"type":993,"tag":1027,"props":5782,"children":5783},{"style":1139},[5784],{"type":999,"value":5785},"    \"\"\"Configuration manager with graceful error handling\"\"\"\n",{"type":993,"tag":1027,"props":5787,"children":5788},{"class":1029,"line":63},[5789],{"type":993,"tag":1027,"props":5790,"children":5791},{"style":1054},[5792],{"type":999,"value":1976},{"type":993,"tag":1027,"props":5794,"children":5795},{"class":1029,"line":72},[5796,5800,5804,5809,5813,5818],{"type":993,"tag":1027,"props":5797,"children":5798},{"style":1042},[5799],{"type":999,"value":4428},{"type":993,"tag":1027,"props":5801,"children":5802},{"style":1122},[5803],{"type":999,"value":4433},{"type":993,"tag":1027,"props":5805,"children":5806},{"style":1054},[5807],{"type":999,"value":5808},"(self, config_file",{"type":993,"tag":1027,"props":5810,"children":5811},{"style":1042},[5812],{"type":999,"value":1083},{"type":993,"tag":1027,"props":5814,"children":5815},{"style":1139},[5816],{"type":999,"value":5817},"\"app_config.json\"",{"type":993,"tag":1027,"props":5819,"children":5820},{"style":1054},[5821],{"type":999,"value":4405},{"type":993,"tag":1027,"props":5823,"children":5824},{"class":1029,"line":81},[5825,5829,5834,5838],{"type":993,"tag":1027,"props":5826,"children":5827},{"style":1122},[5828],{"type":999,"value":4495},{"type":993,"tag":1027,"props":5830,"children":5831},{"style":1054},[5832],{"type":999,"value":5833},".config_file ",{"type":993,"tag":1027,"props":5835,"children":5836},{"style":1042},[5837],{"type":999,"value":1083},{"type":993,"tag":1027,"props":5839,"children":5840},{"style":1054},[5841],{"type":999,"value":5842}," config_file\n",{"type":993,"tag":1027,"props":5844,"children":5845},{"class":1029,"line":91},[5846,5850,5855,5859],{"type":993,"tag":1027,"props":5847,"children":5848},{"style":1122},[5849],{"type":999,"value":4495},{"type":993,"tag":1027,"props":5851,"children":5852},{"style":1054},[5853],{"type":999,"value":5854},".config ",{"type":993,"tag":1027,"props":5856,"children":5857},{"style":1042},[5858],{"type":999,"value":1083},{"type":993,"tag":1027,"props":5860,"children":5861},{"style":1054},[5862],{"type":999,"value":5863}," {}\n",{"type":993,"tag":1027,"props":5865,"children":5866},{"class":1029,"line":100},[5867,5871],{"type":993,"tag":1027,"props":5868,"children":5869},{"style":1122},[5870],{"type":999,"value":4495},{"type":993,"tag":1027,"props":5872,"children":5873},{"style":1054},[5874],{"type":999,"value":5875},".load_config()\n",{"type":993,"tag":1027,"props":5877,"children":5878},{"class":1029,"line":109},[5879],{"type":993,"tag":1027,"props":5880,"children":5881},{"style":1054},[5882],{"type":999,"value":1976},{"type":993,"tag":1027,"props":5884,"children":5885},{"class":1029,"line":118},[5886,5890,5895],{"type":993,"tag":1027,"props":5887,"children":5888},{"style":1042},[5889],{"type":999,"value":4428},{"type":993,"tag":1027,"props":5891,"children":5892},{"style":1048},[5893],{"type":999,"value":5894}," load_config",{"type":993,"tag":1027,"props":5896,"children":5897},{"style":1054},[5898],{"type":999,"value":4575},{"type":993,"tag":1027,"props":5900,"children":5901},{"class":1029,"line":127},[5902],{"type":993,"tag":1027,"props":5903,"children":5904},{"style":1139},[5905],{"type":999,"value":5906},"        \"\"\"Load configuration with fallback to defaults\"\"\"\n",{"type":993,"tag":1027,"props":5908,"children":5909},{"class":1029,"line":136},[5910,5914],{"type":993,"tag":1027,"props":5911,"children":5912},{"style":1042},[5913],{"type":999,"value":2278},{"type":993,"tag":1027,"props":5915,"children":5916},{"style":1054},[5917],{"type":999,"value":1070},{"type":993,"tag":1027,"props":5919,"children":5920},{"class":1029,"line":146},[5921,5926,5930,5934,5939,5944,5948,5952,5956,5960],{"type":993,"tag":1027,"props":5922,"children":5923},{"style":1042},[5924],{"type":999,"value":5925},"            with",{"type":993,"tag":1027,"props":5927,"children":5928},{"style":1122},[5929],{"type":999,"value":1227},{"type":993,"tag":1027,"props":5931,"children":5932},{"style":1054},[5933],{"type":999,"value":1325},{"type":993,"tag":1027,"props":5935,"children":5936},{"style":1122},[5937],{"type":999,"value":5938},"self",{"type":993,"tag":1027,"props":5940,"children":5941},{"style":1054},[5942],{"type":999,"value":5943},".config_file, ",{"type":993,"tag":1027,"props":5945,"children":5946},{"style":1139},[5947],{"type":999,"value":1237},{"type":993,"tag":1027,"props":5949,"children":5950},{"style":1054},[5951],{"type":999,"value":1242},{"type":993,"tag":1027,"props":5953,"children":5954},{"style":1042},[5955],{"type":999,"value":1247},{"type":993,"tag":1027,"props":5957,"children":5958},{"style":1250},[5959],{"type":999,"value":1253},{"type":993,"tag":1027,"props":5961,"children":5962},{"style":1054},[5963],{"type":999,"value":1070},{"type":993,"tag":1027,"props":5965,"children":5966},{"class":1029,"line":155},[5967,5972,5976,5980,5985,5990],{"type":993,"tag":1027,"props":5968,"children":5969},{"style":1122},[5970],{"type":999,"value":5971},"                self",{"type":993,"tag":1027,"props":5973,"children":5974},{"style":1054},[5975],{"type":999,"value":5854},{"type":993,"tag":1027,"props":5977,"children":5978},{"style":1042},[5979],{"type":999,"value":1083},{"type":993,"tag":1027,"props":5981,"children":5982},{"style":1054},[5983],{"type":999,"value":5984}," json.load(",{"type":993,"tag":1027,"props":5986,"children":5987},{"style":1250},[5988],{"type":999,"value":5989},"file",{"type":993,"tag":1027,"props":5991,"children":5992},{"style":1054},[5993],{"type":999,"value":1360},{"type":993,"tag":1027,"props":5995,"children":5996},{"class":1029,"line":164},[5997,6001,6005,6009,6014,6018,6023,6027,6031],{"type":993,"tag":1027,"props":5998,"children":5999},{"style":1122},[6000],{"type":999,"value":3204},{"type":993,"tag":1027,"props":6002,"children":6003},{"style":1054},[6004],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6006,"children":6007},{"style":1042},[6008],{"type":999,"value":1330},{"type":993,"tag":1027,"props":6010,"children":6011},{"style":1139},[6012],{"type":999,"value":6013},"\"✅ Configuration loaded from ",{"type":993,"tag":1027,"props":6015,"children":6016},{"style":1122},[6017],{"type":999,"value":4615},{"type":993,"tag":1027,"props":6019,"children":6020},{"style":1054},[6021],{"type":999,"value":6022},".config_file",{"type":993,"tag":1027,"props":6024,"children":6025},{"style":1122},[6026],{"type":999,"value":1350},{"type":993,"tag":1027,"props":6028,"children":6029},{"style":1139},[6030],{"type":999,"value":1477},{"type":993,"tag":1027,"props":6032,"children":6033},{"style":1054},[6034],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6036,"children":6037},{"class":1029,"line":173},[6038,6042,6046],{"type":993,"tag":1027,"props":6039,"children":6040},{"style":1042},[6041],{"type":999,"value":2366},{"type":993,"tag":1027,"props":6043,"children":6044},{"style":1122},[6045],{"type":999,"value":1308},{"type":993,"tag":1027,"props":6047,"children":6048},{"style":1054},[6049],{"type":999,"value":1070},{"type":993,"tag":1027,"props":6051,"children":6052},{"class":1029,"line":182},[6053,6057,6061,6065,6070],{"type":993,"tag":1027,"props":6054,"children":6055},{"style":1122},[6056],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6058,"children":6059},{"style":1054},[6060],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6062,"children":6063},{"style":1042},[6064],{"type":999,"value":1330},{"type":993,"tag":1027,"props":6066,"children":6067},{"style":1139},[6068],{"type":999,"value":6069},"\"⚠️ Config file not found. Using defaults.\"",{"type":993,"tag":1027,"props":6071,"children":6072},{"style":1054},[6073],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6075,"children":6076},{"class":1029,"line":191},[6077,6082,6086,6090,6094],{"type":993,"tag":1027,"props":6078,"children":6079},{"style":1122},[6080],{"type":999,"value":6081},"            self",{"type":993,"tag":1027,"props":6083,"children":6084},{"style":1054},[6085],{"type":999,"value":5854},{"type":993,"tag":1027,"props":6087,"children":6088},{"style":1042},[6089],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6091,"children":6092},{"style":1122},[6093],{"type":999,"value":4588},{"type":993,"tag":1027,"props":6095,"children":6096},{"style":1054},[6097],{"type":999,"value":6098},".get_default_config()\n",{"type":993,"tag":1027,"props":6100,"children":6101},{"class":1029,"line":201},[6102,6106,6111,6115],{"type":993,"tag":1027,"props":6103,"children":6104},{"style":1042},[6105],{"type":999,"value":2366},{"type":993,"tag":1027,"props":6107,"children":6108},{"style":1054},[6109],{"type":999,"value":6110}," json.JSONDecodeError ",{"type":993,"tag":1027,"props":6112,"children":6113},{"style":1042},[6114],{"type":999,"value":1247},{"type":993,"tag":1027,"props":6116,"children":6117},{"style":1054},[6118],{"type":999,"value":1439},{"type":993,"tag":1027,"props":6120,"children":6121},{"class":1029,"line":210},[6122,6126,6130,6134,6139,6143,6147,6151,6155],{"type":993,"tag":1027,"props":6123,"children":6124},{"style":1122},[6125],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6127,"children":6128},{"style":1054},[6129],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6131,"children":6132},{"style":1042},[6133],{"type":999,"value":1330},{"type":993,"tag":1027,"props":6135,"children":6136},{"style":1139},[6137],{"type":999,"value":6138},"\"⚠️ Invalid JSON in config file: ",{"type":993,"tag":1027,"props":6140,"children":6141},{"style":1122},[6142],{"type":999,"value":1340},{"type":993,"tag":1027,"props":6144,"children":6145},{"style":1054},[6146],{"type":999,"value":1468},{"type":993,"tag":1027,"props":6148,"children":6149},{"style":1122},[6150],{"type":999,"value":1350},{"type":993,"tag":1027,"props":6152,"children":6153},{"style":1139},[6154],{"type":999,"value":1477},{"type":993,"tag":1027,"props":6156,"children":6157},{"style":1054},[6158],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6160,"children":6161},{"class":1029,"line":219},[6162,6166,6170,6175],{"type":993,"tag":1027,"props":6163,"children":6164},{"style":1122},[6165],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6167,"children":6168},{"style":1054},[6169],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6171,"children":6172},{"style":1139},[6173],{"type":999,"value":6174},"\"Using default configuration.\"",{"type":993,"tag":1027,"props":6176,"children":6177},{"style":1054},[6178],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6180,"children":6181},{"class":1029,"line":228},[6182,6186,6190,6194,6198],{"type":993,"tag":1027,"props":6183,"children":6184},{"style":1122},[6185],{"type":999,"value":6081},{"type":993,"tag":1027,"props":6187,"children":6188},{"style":1054},[6189],{"type":999,"value":5854},{"type":993,"tag":1027,"props":6191,"children":6192},{"style":1042},[6193],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6195,"children":6196},{"style":1122},[6197],{"type":999,"value":4588},{"type":993,"tag":1027,"props":6199,"children":6200},{"style":1054},[6201],{"type":999,"value":6098},{"type":993,"tag":1027,"props":6203,"children":6204},{"class":1029,"line":238},[6205,6209,6213],{"type":993,"tag":1027,"props":6206,"children":6207},{"style":1042},[6208],{"type":999,"value":2366},{"type":993,"tag":1027,"props":6210,"children":6211},{"style":1122},[6212],{"type":999,"value":1372},{"type":993,"tag":1027,"props":6214,"children":6215},{"style":1054},[6216],{"type":999,"value":1070},{"type":993,"tag":1027,"props":6218,"children":6219},{"class":1029,"line":247},[6220,6224,6228,6232,6237],{"type":993,"tag":1027,"props":6221,"children":6222},{"style":1122},[6223],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6225,"children":6226},{"style":1054},[6227],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6229,"children":6230},{"style":1042},[6231],{"type":999,"value":1330},{"type":993,"tag":1027,"props":6233,"children":6234},{"style":1139},[6235],{"type":999,"value":6236},"\"⚠️ Permission denied reading config file.\"",{"type":993,"tag":1027,"props":6238,"children":6239},{"style":1054},[6240],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6242,"children":6243},{"class":1029,"line":256},[6244,6248,6252,6256,6260],{"type":993,"tag":1027,"props":6245,"children":6246},{"style":1122},[6247],{"type":999,"value":6081},{"type":993,"tag":1027,"props":6249,"children":6250},{"style":1054},[6251],{"type":999,"value":5854},{"type":993,"tag":1027,"props":6253,"children":6254},{"style":1042},[6255],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6257,"children":6258},{"style":1122},[6259],{"type":999,"value":4588},{"type":993,"tag":1027,"props":6261,"children":6262},{"style":1054},[6263],{"type":999,"value":6098},{"type":993,"tag":1027,"props":6265,"children":6266},{"class":1029,"line":265},[6267,6271,6275,6279],{"type":993,"tag":1027,"props":6268,"children":6269},{"style":1042},[6270],{"type":999,"value":2366},{"type":993,"tag":1027,"props":6272,"children":6273},{"style":1122},[6274],{"type":999,"value":1429},{"type":993,"tag":1027,"props":6276,"children":6277},{"style":1042},[6278],{"type":999,"value":1434},{"type":993,"tag":1027,"props":6280,"children":6281},{"style":1054},[6282],{"type":999,"value":1439},{"type":993,"tag":1027,"props":6284,"children":6285},{"class":1029,"line":274},[6286,6290,6294,6298,6303,6307,6311,6315,6319],{"type":993,"tag":1027,"props":6287,"children":6288},{"style":1122},[6289],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6291,"children":6292},{"style":1054},[6293],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6295,"children":6296},{"style":1042},[6297],{"type":999,"value":1330},{"type":993,"tag":1027,"props":6299,"children":6300},{"style":1139},[6301],{"type":999,"value":6302},"\"⚠️ Unexpected error loading config: ",{"type":993,"tag":1027,"props":6304,"children":6305},{"style":1122},[6306],{"type":999,"value":1340},{"type":993,"tag":1027,"props":6308,"children":6309},{"style":1054},[6310],{"type":999,"value":1468},{"type":993,"tag":1027,"props":6312,"children":6313},{"style":1122},[6314],{"type":999,"value":1350},{"type":993,"tag":1027,"props":6316,"children":6317},{"style":1139},[6318],{"type":999,"value":1477},{"type":993,"tag":1027,"props":6320,"children":6321},{"style":1054},[6322],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6324,"children":6325},{"class":1029,"line":284},[6326,6330,6334,6338,6342],{"type":993,"tag":1027,"props":6327,"children":6328},{"style":1122},[6329],{"type":999,"value":6081},{"type":993,"tag":1027,"props":6331,"children":6332},{"style":1054},[6333],{"type":999,"value":5854},{"type":993,"tag":1027,"props":6335,"children":6336},{"style":1042},[6337],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6339,"children":6340},{"style":1122},[6341],{"type":999,"value":4588},{"type":993,"tag":1027,"props":6343,"children":6344},{"style":1054},[6345],{"type":999,"value":6098},{"type":993,"tag":1027,"props":6347,"children":6348},{"class":1029,"line":293},[6349],{"type":993,"tag":1027,"props":6350,"children":6351},{"style":1054},[6352],{"type":999,"value":1976},{"type":993,"tag":1027,"props":6354,"children":6355},{"class":1029,"line":302},[6356,6360,6365],{"type":993,"tag":1027,"props":6357,"children":6358},{"style":1042},[6359],{"type":999,"value":4428},{"type":993,"tag":1027,"props":6361,"children":6362},{"style":1048},[6363],{"type":999,"value":6364}," get_default_config",{"type":993,"tag":1027,"props":6366,"children":6367},{"style":1054},[6368],{"type":999,"value":4575},{"type":993,"tag":1027,"props":6370,"children":6371},{"class":1029,"line":311},[6372],{"type":993,"tag":1027,"props":6373,"children":6374},{"style":1139},[6375],{"type":999,"value":6376},"        \"\"\"Return default configuration\"\"\"\n",{"type":993,"tag":1027,"props":6378,"children":6379},{"class":1029,"line":320},[6380,6384],{"type":993,"tag":1027,"props":6381,"children":6382},{"style":1042},[6383],{"type":999,"value":1106},{"type":993,"tag":1027,"props":6385,"children":6386},{"style":1054},[6387],{"type":999,"value":2805},{"type":993,"tag":1027,"props":6389,"children":6390},{"class":1029,"line":329},[6391,6396,6400,6405,6409,6414,6418,6423,6427,6432],{"type":993,"tag":1027,"props":6392,"children":6393},{"style":1139},[6394],{"type":999,"value":6395},"            \"database\"",{"type":993,"tag":1027,"props":6397,"children":6398},{"style":1054},[6399],{"type":999,"value":2082},{"type":993,"tag":1027,"props":6401,"children":6402},{"style":1139},[6403],{"type":999,"value":6404},"\"host\"",{"type":993,"tag":1027,"props":6406,"children":6407},{"style":1054},[6408],{"type":999,"value":2092},{"type":993,"tag":1027,"props":6410,"children":6411},{"style":1139},[6412],{"type":999,"value":6413},"\"localhost\"",{"type":993,"tag":1027,"props":6415,"children":6416},{"style":1054},[6417],{"type":999,"value":1532},{"type":993,"tag":1027,"props":6419,"children":6420},{"style":1139},[6421],{"type":999,"value":6422},"\"port\"",{"type":993,"tag":1027,"props":6424,"children":6425},{"style":1054},[6426],{"type":999,"value":2092},{"type":993,"tag":1027,"props":6428,"children":6429},{"style":1122},[6430],{"type":999,"value":6431},"5432",{"type":993,"tag":1027,"props":6433,"children":6434},{"style":1054},[6435],{"type":999,"value":6436},"},\n",{"type":993,"tag":1027,"props":6438,"children":6439},{"class":1029,"line":338},[6440,6445,6449,6454,6458,6463,6467,6472,6476,6481],{"type":993,"tag":1027,"props":6441,"children":6442},{"style":1139},[6443],{"type":999,"value":6444},"            \"cache\"",{"type":993,"tag":1027,"props":6446,"children":6447},{"style":1054},[6448],{"type":999,"value":2082},{"type":993,"tag":1027,"props":6450,"children":6451},{"style":1139},[6452],{"type":999,"value":6453},"\"enabled\"",{"type":993,"tag":1027,"props":6455,"children":6456},{"style":1054},[6457],{"type":999,"value":2092},{"type":993,"tag":1027,"props":6459,"children":6460},{"style":1122},[6461],{"type":999,"value":6462},"True",{"type":993,"tag":1027,"props":6464,"children":6465},{"style":1054},[6466],{"type":999,"value":1532},{"type":993,"tag":1027,"props":6468,"children":6469},{"style":1139},[6470],{"type":999,"value":6471},"\"timeout\"",{"type":993,"tag":1027,"props":6473,"children":6474},{"style":1054},[6475],{"type":999,"value":2092},{"type":993,"tag":1027,"props":6477,"children":6478},{"style":1122},[6479],{"type":999,"value":6480},"300",{"type":993,"tag":1027,"props":6482,"children":6483},{"style":1054},[6484],{"type":999,"value":6436},{"type":993,"tag":1027,"props":6486,"children":6487},{"class":1029,"line":347},[6488,6493,6497,6502,6506,6511,6515,6520,6524,6529],{"type":993,"tag":1027,"props":6489,"children":6490},{"style":1139},[6491],{"type":999,"value":6492},"            \"logging\"",{"type":993,"tag":1027,"props":6494,"children":6495},{"style":1054},[6496],{"type":999,"value":2082},{"type":993,"tag":1027,"props":6498,"children":6499},{"style":1139},[6500],{"type":999,"value":6501},"\"level\"",{"type":993,"tag":1027,"props":6503,"children":6504},{"style":1054},[6505],{"type":999,"value":2092},{"type":993,"tag":1027,"props":6507,"children":6508},{"style":1139},[6509],{"type":999,"value":6510},"\"INFO\"",{"type":993,"tag":1027,"props":6512,"children":6513},{"style":1054},[6514],{"type":999,"value":1532},{"type":993,"tag":1027,"props":6516,"children":6517},{"style":1139},[6518],{"type":999,"value":6519},"\"file\"",{"type":993,"tag":1027,"props":6521,"children":6522},{"style":1054},[6523],{"type":999,"value":2092},{"type":993,"tag":1027,"props":6525,"children":6526},{"style":1139},[6527],{"type":999,"value":6528},"\"app.log\"",{"type":993,"tag":1027,"props":6530,"children":6531},{"style":1054},[6532],{"type":999,"value":6533},"}\n",{"type":993,"tag":1027,"props":6535,"children":6536},{"class":1029,"line":356},[6537],{"type":993,"tag":1027,"props":6538,"children":6539},{"style":1054},[6540],{"type":999,"value":6541},"        }\n",{"type":993,"tag":1027,"props":6543,"children":6544},{"class":1029,"line":365},[6545],{"type":993,"tag":1027,"props":6546,"children":6547},{"style":1054},[6548],{"type":999,"value":1976},{"type":993,"tag":1027,"props":6550,"children":6551},{"class":1029,"line":374},[6552,6556,6561,6566,6570,6574],{"type":993,"tag":1027,"props":6553,"children":6554},{"style":1042},[6555],{"type":999,"value":4428},{"type":993,"tag":1027,"props":6557,"children":6558},{"style":1048},[6559],{"type":999,"value":6560}," get",{"type":993,"tag":1027,"props":6562,"children":6563},{"style":1054},[6564],{"type":999,"value":6565},"(self, key, default",{"type":993,"tag":1027,"props":6567,"children":6568},{"style":1042},[6569],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6571,"children":6572},{"style":1122},[6573],{"type":999,"value":4447},{"type":993,"tag":1027,"props":6575,"children":6576},{"style":1054},[6577],{"type":999,"value":4405},{"type":993,"tag":1027,"props":6579,"children":6580},{"class":1029,"line":384},[6581],{"type":993,"tag":1027,"props":6582,"children":6583},{"style":1139},[6584],{"type":999,"value":6585},"        \"\"\"Get configuration value with error handling\"\"\"\n",{"type":993,"tag":1027,"props":6587,"children":6588},{"class":1029,"line":393},[6589,6593],{"type":993,"tag":1027,"props":6590,"children":6591},{"style":1042},[6592],{"type":999,"value":2278},{"type":993,"tag":1027,"props":6594,"children":6595},{"style":1054},[6596],{"type":999,"value":1070},{"type":993,"tag":1027,"props":6598,"children":6599},{"class":1029,"line":402},[6600,6605,6609,6614,6619],{"type":993,"tag":1027,"props":6601,"children":6602},{"style":1054},[6603],{"type":999,"value":6604},"            keys ",{"type":993,"tag":1027,"props":6606,"children":6607},{"style":1042},[6608],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6610,"children":6611},{"style":1054},[6612],{"type":999,"value":6613}," key.split(",{"type":993,"tag":1027,"props":6615,"children":6616},{"style":1139},[6617],{"type":999,"value":6618},"'.'",{"type":993,"tag":1027,"props":6620,"children":6621},{"style":1054},[6622],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6624,"children":6625},{"class":1029,"line":411},[6626,6631,6635,6639],{"type":993,"tag":1027,"props":6627,"children":6628},{"style":1054},[6629],{"type":999,"value":6630},"            value ",{"type":993,"tag":1027,"props":6632,"children":6633},{"style":1042},[6634],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6636,"children":6637},{"style":1122},[6638],{"type":999,"value":4588},{"type":993,"tag":1027,"props":6640,"children":6641},{"style":1054},[6642],{"type":999,"value":6643},".config\n",{"type":993,"tag":1027,"props":6645,"children":6646},{"class":1029,"line":420},[6647,6652,6657,6661],{"type":993,"tag":1027,"props":6648,"children":6649},{"style":1042},[6650],{"type":999,"value":6651},"            for",{"type":993,"tag":1027,"props":6653,"children":6654},{"style":1054},[6655],{"type":999,"value":6656}," k ",{"type":993,"tag":1027,"props":6658,"children":6659},{"style":1042},[6660],{"type":999,"value":2265},{"type":993,"tag":1027,"props":6662,"children":6663},{"style":1054},[6664],{"type":999,"value":6665}," keys:\n",{"type":993,"tag":1027,"props":6667,"children":6668},{"class":1029,"line":429},[6669,6673,6677],{"type":993,"tag":1027,"props":6670,"children":6671},{"style":1054},[6672],{"type":999,"value":3130},{"type":993,"tag":1027,"props":6674,"children":6675},{"style":1042},[6676],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6678,"children":6679},{"style":1054},[6680],{"type":999,"value":6681}," value[k]\n",{"type":993,"tag":1027,"props":6683,"children":6684},{"class":1029,"line":438},[6685,6689],{"type":993,"tag":1027,"props":6686,"children":6687},{"style":1042},[6688],{"type":999,"value":1286},{"type":993,"tag":1027,"props":6690,"children":6691},{"style":1054},[6692],{"type":999,"value":4530},{"type":993,"tag":1027,"props":6694,"children":6695},{"class":1029,"line":447},[6696,6700,6705,6709,6713,6717],{"type":993,"tag":1027,"props":6697,"children":6698},{"style":1042},[6699],{"type":999,"value":2366},{"type":993,"tag":1027,"props":6701,"children":6702},{"style":1054},[6703],{"type":999,"value":6704}," (",{"type":993,"tag":1027,"props":6706,"children":6707},{"style":1122},[6708],{"type":999,"value":1797},{"type":993,"tag":1027,"props":6710,"children":6711},{"style":1054},[6712],{"type":999,"value":1532},{"type":993,"tag":1027,"props":6714,"children":6715},{"style":1122},[6716],{"type":999,"value":1756},{"type":993,"tag":1027,"props":6718,"children":6719},{"style":1054},[6720],{"type":999,"value":4405},{"type":993,"tag":1027,"props":6722,"children":6723},{"class":1029,"line":457},[6724,6728,6732,6736,6741,6745,6750,6754,6759,6763,6768,6772,6776],{"type":993,"tag":1027,"props":6725,"children":6726},{"style":1122},[6727],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6729,"children":6730},{"style":1054},[6731],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6733,"children":6734},{"style":1042},[6735],{"type":999,"value":1330},{"type":993,"tag":1027,"props":6737,"children":6738},{"style":1139},[6739],{"type":999,"value":6740},"\"⚠️ Configuration key '",{"type":993,"tag":1027,"props":6742,"children":6743},{"style":1122},[6744],{"type":999,"value":1340},{"type":993,"tag":1027,"props":6746,"children":6747},{"style":1054},[6748],{"type":999,"value":6749},"key",{"type":993,"tag":1027,"props":6751,"children":6752},{"style":1122},[6753],{"type":999,"value":1350},{"type":993,"tag":1027,"props":6755,"children":6756},{"style":1139},[6757],{"type":999,"value":6758},"' not found. Using default: ",{"type":993,"tag":1027,"props":6760,"children":6761},{"style":1122},[6762],{"type":999,"value":1340},{"type":993,"tag":1027,"props":6764,"children":6765},{"style":1054},[6766],{"type":999,"value":6767},"default",{"type":993,"tag":1027,"props":6769,"children":6770},{"style":1122},[6771],{"type":999,"value":1350},{"type":993,"tag":1027,"props":6773,"children":6774},{"style":1139},[6775],{"type":999,"value":1477},{"type":993,"tag":1027,"props":6777,"children":6778},{"style":1054},[6779],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6781,"children":6782},{"class":1029,"line":466},[6783,6787],{"type":993,"tag":1027,"props":6784,"children":6785},{"style":1042},[6786],{"type":999,"value":1286},{"type":993,"tag":1027,"props":6788,"children":6789},{"style":1054},[6790],{"type":999,"value":6791}," default\n",{"type":993,"tag":1027,"props":6793,"children":6794},{"class":1029,"line":475},[6795],{"type":993,"tag":1027,"props":6796,"children":6797},{"style":1054},[6798],{"type":999,"value":1976},{"type":993,"tag":1027,"props":6800,"children":6801},{"class":1029,"line":484},[6802,6806,6811],{"type":993,"tag":1027,"props":6803,"children":6804},{"style":1042},[6805],{"type":999,"value":4428},{"type":993,"tag":1027,"props":6807,"children":6808},{"style":1048},[6809],{"type":999,"value":6810}," save_config",{"type":993,"tag":1027,"props":6812,"children":6813},{"style":1054},[6814],{"type":999,"value":4575},{"type":993,"tag":1027,"props":6816,"children":6817},{"class":1029,"line":493},[6818],{"type":993,"tag":1027,"props":6819,"children":6820},{"style":1139},[6821],{"type":999,"value":6822},"        \"\"\"Save configuration with error handling\"\"\"\n",{"type":993,"tag":1027,"props":6824,"children":6825},{"class":1029,"line":502},[6826,6830],{"type":993,"tag":1027,"props":6827,"children":6828},{"style":1042},[6829],{"type":999,"value":2278},{"type":993,"tag":1027,"props":6831,"children":6832},{"style":1054},[6833],{"type":999,"value":1070},{"type":993,"tag":1027,"props":6835,"children":6836},{"class":1029,"line":511},[6837,6841,6845,6849,6853,6857,6862,6866,6870,6874],{"type":993,"tag":1027,"props":6838,"children":6839},{"style":1042},[6840],{"type":999,"value":5925},{"type":993,"tag":1027,"props":6842,"children":6843},{"style":1122},[6844],{"type":999,"value":1227},{"type":993,"tag":1027,"props":6846,"children":6847},{"style":1054},[6848],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6850,"children":6851},{"style":1122},[6852],{"type":999,"value":5938},{"type":993,"tag":1027,"props":6854,"children":6855},{"style":1054},[6856],{"type":999,"value":5943},{"type":993,"tag":1027,"props":6858,"children":6859},{"style":1139},[6860],{"type":999,"value":6861},"'w'",{"type":993,"tag":1027,"props":6863,"children":6864},{"style":1054},[6865],{"type":999,"value":1242},{"type":993,"tag":1027,"props":6867,"children":6868},{"style":1042},[6869],{"type":999,"value":1247},{"type":993,"tag":1027,"props":6871,"children":6872},{"style":1250},[6873],{"type":999,"value":1253},{"type":993,"tag":1027,"props":6875,"children":6876},{"style":1054},[6877],{"type":999,"value":1070},{"type":993,"tag":1027,"props":6879,"children":6880},{"class":1029,"line":520},[6881,6886,6890,6895,6899,6903,6908,6912,6916],{"type":993,"tag":1027,"props":6882,"children":6883},{"style":1054},[6884],{"type":999,"value":6885},"                json.dump(",{"type":993,"tag":1027,"props":6887,"children":6888},{"style":1122},[6889],{"type":999,"value":5938},{"type":993,"tag":1027,"props":6891,"children":6892},{"style":1054},[6893],{"type":999,"value":6894},".config, ",{"type":993,"tag":1027,"props":6896,"children":6897},{"style":1250},[6898],{"type":999,"value":5989},{"type":993,"tag":1027,"props":6900,"children":6901},{"style":1054},[6902],{"type":999,"value":1532},{"type":993,"tag":1027,"props":6904,"children":6905},{"style":1250},[6906],{"type":999,"value":6907},"indent",{"type":993,"tag":1027,"props":6909,"children":6910},{"style":1042},[6911],{"type":999,"value":1083},{"type":993,"tag":1027,"props":6913,"children":6914},{"style":1122},[6915],{"type":999,"value":1537},{"type":993,"tag":1027,"props":6917,"children":6918},{"style":1054},[6919],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6921,"children":6922},{"class":1029,"line":530},[6923,6927,6931,6935,6940,6944,6948,6952,6956],{"type":993,"tag":1027,"props":6924,"children":6925},{"style":1122},[6926],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6928,"children":6929},{"style":1054},[6930],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6932,"children":6933},{"style":1042},[6934],{"type":999,"value":1330},{"type":993,"tag":1027,"props":6936,"children":6937},{"style":1139},[6938],{"type":999,"value":6939},"\"✅ Configuration saved to ",{"type":993,"tag":1027,"props":6941,"children":6942},{"style":1122},[6943],{"type":999,"value":4615},{"type":993,"tag":1027,"props":6945,"children":6946},{"style":1054},[6947],{"type":999,"value":6022},{"type":993,"tag":1027,"props":6949,"children":6950},{"style":1122},[6951],{"type":999,"value":1350},{"type":993,"tag":1027,"props":6953,"children":6954},{"style":1139},[6955],{"type":999,"value":1477},{"type":993,"tag":1027,"props":6957,"children":6958},{"style":1054},[6959],{"type":999,"value":1360},{"type":993,"tag":1027,"props":6961,"children":6962},{"class":1029,"line":539},[6963,6967],{"type":993,"tag":1027,"props":6964,"children":6965},{"style":1042},[6966],{"type":999,"value":1286},{"type":993,"tag":1027,"props":6968,"children":6969},{"style":1122},[6970],{"type":999,"value":5202},{"type":993,"tag":1027,"props":6972,"children":6973},{"class":1029,"line":548},[6974,6978,6982],{"type":993,"tag":1027,"props":6975,"children":6976},{"style":1042},[6977],{"type":999,"value":2366},{"type":993,"tag":1027,"props":6979,"children":6980},{"style":1122},[6981],{"type":999,"value":1372},{"type":993,"tag":1027,"props":6983,"children":6984},{"style":1054},[6985],{"type":999,"value":1070},{"type":993,"tag":1027,"props":6987,"children":6988},{"class":1029,"line":557},[6989,6993,6997,7001,7006,7010,7014,7018,7022],{"type":993,"tag":1027,"props":6990,"children":6991},{"style":1122},[6992],{"type":999,"value":2307},{"type":993,"tag":1027,"props":6994,"children":6995},{"style":1054},[6996],{"type":999,"value":1325},{"type":993,"tag":1027,"props":6998,"children":6999},{"style":1042},[7000],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7002,"children":7003},{"style":1139},[7004],{"type":999,"value":7005},"\"❌ Permission denied writing to ",{"type":993,"tag":1027,"props":7007,"children":7008},{"style":1122},[7009],{"type":999,"value":4615},{"type":993,"tag":1027,"props":7011,"children":7012},{"style":1054},[7013],{"type":999,"value":6022},{"type":993,"tag":1027,"props":7015,"children":7016},{"style":1122},[7017],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7019,"children":7020},{"style":1139},[7021],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7023,"children":7024},{"style":1054},[7025],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7027,"children":7028},{"class":1029,"line":566},[7029,7033],{"type":993,"tag":1027,"props":7030,"children":7031},{"style":1042},[7032],{"type":999,"value":1286},{"type":993,"tag":1027,"props":7034,"children":7035},{"style":1122},[7036],{"type":999,"value":7037}," False\n",{"type":993,"tag":1027,"props":7039,"children":7040},{"class":1029,"line":575},[7041,7045,7049,7053],{"type":993,"tag":1027,"props":7042,"children":7043},{"style":1042},[7044],{"type":999,"value":2366},{"type":993,"tag":1027,"props":7046,"children":7047},{"style":1122},[7048],{"type":999,"value":1429},{"type":993,"tag":1027,"props":7050,"children":7051},{"style":1042},[7052],{"type":999,"value":1434},{"type":993,"tag":1027,"props":7054,"children":7055},{"style":1054},[7056],{"type":999,"value":1439},{"type":993,"tag":1027,"props":7058,"children":7059},{"class":1029,"line":584},[7060,7064,7068,7072,7077,7081,7085,7089,7093],{"type":993,"tag":1027,"props":7061,"children":7062},{"style":1122},[7063],{"type":999,"value":2307},{"type":993,"tag":1027,"props":7065,"children":7066},{"style":1054},[7067],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7069,"children":7070},{"style":1042},[7071],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7073,"children":7074},{"style":1139},[7075],{"type":999,"value":7076},"\"❌ Error saving configuration: ",{"type":993,"tag":1027,"props":7078,"children":7079},{"style":1122},[7080],{"type":999,"value":1340},{"type":993,"tag":1027,"props":7082,"children":7083},{"style":1054},[7084],{"type":999,"value":1468},{"type":993,"tag":1027,"props":7086,"children":7087},{"style":1122},[7088],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7090,"children":7091},{"style":1139},[7092],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7094,"children":7095},{"style":1054},[7096],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7098,"children":7099},{"class":1029,"line":593},[7100,7104],{"type":993,"tag":1027,"props":7101,"children":7102},{"style":1042},[7103],{"type":999,"value":1286},{"type":993,"tag":1027,"props":7105,"children":7106},{"style":1122},[7107],{"type":999,"value":7037},{"type":993,"tag":1027,"props":7109,"children":7110},{"class":1029,"line":602},[7111],{"type":993,"tag":1027,"props":7112,"children":7113},{"emptyLinePlaceholder":13},[7114],{"type":999,"value":1178},{"type":993,"tag":1027,"props":7116,"children":7117},{"class":1029,"line":611},[7118],{"type":993,"tag":1027,"props":7119,"children":7120},{"style":1033},[7121],{"type":999,"value":7122},"# Test graceful degradation\n",{"type":993,"tag":1027,"props":7124,"children":7125},{"class":1029,"line":621},[7126,7131,7135,7140,7145],{"type":993,"tag":1027,"props":7127,"children":7128},{"style":1054},[7129],{"type":999,"value":7130},"config_manager ",{"type":993,"tag":1027,"props":7132,"children":7133},{"style":1042},[7134],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7136,"children":7137},{"style":1054},[7138],{"type":999,"value":7139}," ConfigurationManager(",{"type":993,"tag":1027,"props":7141,"children":7142},{"style":1139},[7143],{"type":999,"value":7144},"\"nonexistent_config.json\"",{"type":993,"tag":1027,"props":7146,"children":7147},{"style":1054},[7148],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7150,"children":7151},{"class":1029,"line":630},[7152],{"type":993,"tag":1027,"props":7153,"children":7154},{"emptyLinePlaceholder":13},[7155],{"type":999,"value":1178},{"type":993,"tag":1027,"props":7157,"children":7158},{"class":1029,"line":639},[7159],{"type":993,"tag":1027,"props":7160,"children":7161},{"style":1033},[7162],{"type":999,"value":7163},"# Get configuration values\n",{"type":993,"tag":1027,"props":7165,"children":7166},{"class":1029,"line":648},[7167,7172,7176,7181,7186,7190,7194],{"type":993,"tag":1027,"props":7168,"children":7169},{"style":1054},[7170],{"type":999,"value":7171},"db_host ",{"type":993,"tag":1027,"props":7173,"children":7174},{"style":1042},[7175],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7177,"children":7178},{"style":1054},[7179],{"type":999,"value":7180}," config_manager.get(",{"type":993,"tag":1027,"props":7182,"children":7183},{"style":1139},[7184],{"type":999,"value":7185},"\"database.host\"",{"type":993,"tag":1027,"props":7187,"children":7188},{"style":1054},[7189],{"type":999,"value":1532},{"type":993,"tag":1027,"props":7191,"children":7192},{"style":1139},[7193],{"type":999,"value":6413},{"type":993,"tag":1027,"props":7195,"children":7196},{"style":1054},[7197],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7199,"children":7200},{"class":1029,"line":657},[7201,7206,7210,7214,7219,7223,7228],{"type":993,"tag":1027,"props":7202,"children":7203},{"style":1054},[7204],{"type":999,"value":7205},"cache_enabled ",{"type":993,"tag":1027,"props":7207,"children":7208},{"style":1042},[7209],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7211,"children":7212},{"style":1054},[7213],{"type":999,"value":7180},{"type":993,"tag":1027,"props":7215,"children":7216},{"style":1139},[7217],{"type":999,"value":7218},"\"cache.enabled\"",{"type":993,"tag":1027,"props":7220,"children":7221},{"style":1054},[7222],{"type":999,"value":1532},{"type":993,"tag":1027,"props":7224,"children":7225},{"style":1122},[7226],{"type":999,"value":7227},"False",{"type":993,"tag":1027,"props":7229,"children":7230},{"style":1054},[7231],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7233,"children":7234},{"class":1029,"line":666},[7235,7240,7244,7248,7253,7257,7262],{"type":993,"tag":1027,"props":7236,"children":7237},{"style":1054},[7238],{"type":999,"value":7239},"invalid_setting ",{"type":993,"tag":1027,"props":7241,"children":7242},{"style":1042},[7243],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7245,"children":7246},{"style":1054},[7247],{"type":999,"value":7180},{"type":993,"tag":1027,"props":7249,"children":7250},{"style":1139},[7251],{"type":999,"value":7252},"\"invalid.key\"",{"type":993,"tag":1027,"props":7254,"children":7255},{"style":1054},[7256],{"type":999,"value":1532},{"type":993,"tag":1027,"props":7258,"children":7259},{"style":1139},[7260],{"type":999,"value":7261},"\"fallback_value\"",{"type":993,"tag":1027,"props":7263,"children":7264},{"style":1054},[7265],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7267,"children":7268},{"class":1029,"line":675},[7269],{"type":993,"tag":1027,"props":7270,"children":7271},{"emptyLinePlaceholder":13},[7272],{"type":999,"value":1178},{"type":993,"tag":1027,"props":7274,"children":7275},{"class":1029,"line":685},[7276,7280,7284,7288,7292,7296,7301],{"type":993,"tag":1027,"props":7277,"children":7278},{"style":1122},[7279],{"type":999,"value":1517},{"type":993,"tag":1027,"props":7281,"children":7282},{"style":1054},[7283],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7285,"children":7286},{"style":1042},[7287],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7289,"children":7290},{"style":1139},[7291],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7293,"children":7294},{"style":1122},[7295],{"type":999,"value":3043},{"type":993,"tag":1027,"props":7297,"children":7298},{"style":1139},[7299],{"type":999,"value":7300},"Configuration values:\"",{"type":993,"tag":1027,"props":7302,"children":7303},{"style":1054},[7304],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7306,"children":7307},{"class":1029,"line":694},[7308,7312,7316,7320,7325,7329,7334,7338,7342],{"type":993,"tag":1027,"props":7309,"children":7310},{"style":1122},[7311],{"type":999,"value":1517},{"type":993,"tag":1027,"props":7313,"children":7314},{"style":1054},[7315],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7317,"children":7318},{"style":1042},[7319],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7321,"children":7322},{"style":1139},[7323],{"type":999,"value":7324},"\"Database host: ",{"type":993,"tag":1027,"props":7326,"children":7327},{"style":1122},[7328],{"type":999,"value":1340},{"type":993,"tag":1027,"props":7330,"children":7331},{"style":1054},[7332],{"type":999,"value":7333},"db_host",{"type":993,"tag":1027,"props":7335,"children":7336},{"style":1122},[7337],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7339,"children":7340},{"style":1139},[7341],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7343,"children":7344},{"style":1054},[7345],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7347,"children":7348},{"class":1029,"line":703},[7349,7353,7357,7361,7366,7370,7375,7379,7383],{"type":993,"tag":1027,"props":7350,"children":7351},{"style":1122},[7352],{"type":999,"value":1517},{"type":993,"tag":1027,"props":7354,"children":7355},{"style":1054},[7356],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7358,"children":7359},{"style":1042},[7360],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7362,"children":7363},{"style":1139},[7364],{"type":999,"value":7365},"\"Cache enabled: ",{"type":993,"tag":1027,"props":7367,"children":7368},{"style":1122},[7369],{"type":999,"value":1340},{"type":993,"tag":1027,"props":7371,"children":7372},{"style":1054},[7373],{"type":999,"value":7374},"cache_enabled",{"type":993,"tag":1027,"props":7376,"children":7377},{"style":1122},[7378],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7380,"children":7381},{"style":1139},[7382],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7384,"children":7385},{"style":1054},[7386],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7388,"children":7389},{"class":1029,"line":712},[7390,7394,7398,7402,7407,7411,7416,7420,7424],{"type":993,"tag":1027,"props":7391,"children":7392},{"style":1122},[7393],{"type":999,"value":1517},{"type":993,"tag":1027,"props":7395,"children":7396},{"style":1054},[7397],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7399,"children":7400},{"style":1042},[7401],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7403,"children":7404},{"style":1139},[7405],{"type":999,"value":7406},"\"Invalid setting: ",{"type":993,"tag":1027,"props":7408,"children":7409},{"style":1122},[7410],{"type":999,"value":1340},{"type":993,"tag":1027,"props":7412,"children":7413},{"style":1054},[7414],{"type":999,"value":7415},"invalid_setting",{"type":993,"tag":1027,"props":7417,"children":7418},{"style":1122},[7419],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7421,"children":7422},{"style":1139},[7423],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7425,"children":7426},{"style":1054},[7427],{"type":999,"value":1360},{"type":993,"tag":1923,"props":7429,"children":7431},{"id":7430},"context-managers-for-resource-cleanup",[7432],{"type":999,"value":7433},"Context Managers for Resource Cleanup",{"type":993,"tag":1002,"props":7435,"children":7436},{},[7437],{"type":999,"value":7438},"Use context managers to ensure proper resource cleanup even when errors occur.",{"type":993,"tag":1013,"props":7440,"children":7441},{},[7442],{"type":993,"tag":1017,"props":7443,"children":7445},{"className":1019,"code":7444,"language":6,"meta":8,"style":8},"class DatabaseConnection:\n    \"\"\"Simulate database connection with error handling\"\"\"\n    \n    def __init__(self, host, port):\n        self.host = host\n        self.port = port\n        self.connected = False\n    \n    def __enter__(self):\n        try:\n            print(f\"Connecting to {self.host}:{self.port}\")\n            # Simulate connection\n            self.connected = True\n            return self\n        except Exception as e:\n            print(f\"Failed to connect: {e}\")\n            raise\n    \n    def __exit__(self, exc_type, exc_value, traceback):\n        if self.connected:\n            print(f\"Closing connection to {self.host}:{self.port}\")\n            self.connected = False\n        \n        if exc_type:\n            print(f\"Exception occurred: {exc_type.__name__}: {exc_value}\")\n        return False  # Don't suppress exceptions\n    \n    def execute_query(self, query):\n        if not self.connected:\n            raise ConnectionError(\"Not connected to database\")\n        \n        # Simulate query execution\n        if \"invalid\" in query.lower():\n            raise ValueError(\"Invalid SQL query\")\n        \n        return f\"Query executed: {query}\"\n\n# Test context manager with error handling\nqueries = [\n    \"SELECT * FROM users\",\n    \"INVALID QUERY\",\n    \"UPDATE users SET active = true\"\n]\n\nfor query in queries:\n    try:\n        with DatabaseConnection(\"localhost\", 5432) as db:\n            result = db.execute_query(query)\n            print(f\"✅ {result}\")\n    except ConnectionError as e:\n        print(f\"❌ Connection error: {e}\")\n    except ValueError as e:\n        print(f\"❌ Query error: {e}\")\n    except Exception as e:\n        print(f\"❌ Unexpected error: {e}\")\n    print()\n",[7446],{"type":993,"tag":1023,"props":7447,"children":7448},{"__ignoreMap":8},[7449,7465,7473,7480,7496,7517,7538,7558,7565,7581,7592,7651,7659,7678,7690,7709,7749,7757,7764,7781,7797,7853,7872,7879,7891,7949,7966,7973,7990,8009,8035,8042,8050,8071,8095,8102,8135,8142,8150,8166,8179,8191,8199,8206,8213,8234,8245,8282,8298,8338,8357,8397,8416,8456,8475,8514],{"type":993,"tag":1027,"props":7450,"children":7451},{"class":1029,"line":12},[7452,7456,7461],{"type":993,"tag":1027,"props":7453,"children":7454},{"style":1042},[7455],{"type":999,"value":4386},{"type":993,"tag":1027,"props":7457,"children":7458},{"style":1048},[7459],{"type":999,"value":7460}," DatabaseConnection",{"type":993,"tag":1027,"props":7462,"children":7463},{"style":1054},[7464],{"type":999,"value":1070},{"type":993,"tag":1027,"props":7466,"children":7467},{"class":1029,"line":27},[7468],{"type":993,"tag":1027,"props":7469,"children":7470},{"style":1139},[7471],{"type":999,"value":7472},"    \"\"\"Simulate database connection with error handling\"\"\"\n",{"type":993,"tag":1027,"props":7474,"children":7475},{"class":1029,"line":36},[7476],{"type":993,"tag":1027,"props":7477,"children":7478},{"style":1054},[7479],{"type":999,"value":1976},{"type":993,"tag":1027,"props":7481,"children":7482},{"class":1029,"line":45},[7483,7487,7491],{"type":993,"tag":1027,"props":7484,"children":7485},{"style":1042},[7486],{"type":999,"value":4428},{"type":993,"tag":1027,"props":7488,"children":7489},{"style":1122},[7490],{"type":999,"value":4433},{"type":993,"tag":1027,"props":7492,"children":7493},{"style":1054},[7494],{"type":999,"value":7495},"(self, host, port):\n",{"type":993,"tag":1027,"props":7497,"children":7498},{"class":1029,"line":54},[7499,7503,7508,7512],{"type":993,"tag":1027,"props":7500,"children":7501},{"style":1122},[7502],{"type":999,"value":4495},{"type":993,"tag":1027,"props":7504,"children":7505},{"style":1054},[7506],{"type":999,"value":7507},".host ",{"type":993,"tag":1027,"props":7509,"children":7510},{"style":1042},[7511],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7513,"children":7514},{"style":1054},[7515],{"type":999,"value":7516}," host\n",{"type":993,"tag":1027,"props":7518,"children":7519},{"class":1029,"line":63},[7520,7524,7529,7533],{"type":993,"tag":1027,"props":7521,"children":7522},{"style":1122},[7523],{"type":999,"value":4495},{"type":993,"tag":1027,"props":7525,"children":7526},{"style":1054},[7527],{"type":999,"value":7528},".port ",{"type":993,"tag":1027,"props":7530,"children":7531},{"style":1042},[7532],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7534,"children":7535},{"style":1054},[7536],{"type":999,"value":7537}," port\n",{"type":993,"tag":1027,"props":7539,"children":7540},{"class":1029,"line":72},[7541,7545,7550,7554],{"type":993,"tag":1027,"props":7542,"children":7543},{"style":1122},[7544],{"type":999,"value":4495},{"type":993,"tag":1027,"props":7546,"children":7547},{"style":1054},[7548],{"type":999,"value":7549},".connected ",{"type":993,"tag":1027,"props":7551,"children":7552},{"style":1042},[7553],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7555,"children":7556},{"style":1122},[7557],{"type":999,"value":7037},{"type":993,"tag":1027,"props":7559,"children":7560},{"class":1029,"line":81},[7561],{"type":993,"tag":1027,"props":7562,"children":7563},{"style":1054},[7564],{"type":999,"value":1976},{"type":993,"tag":1027,"props":7566,"children":7567},{"class":1029,"line":91},[7568,7572,7577],{"type":993,"tag":1027,"props":7569,"children":7570},{"style":1042},[7571],{"type":999,"value":4428},{"type":993,"tag":1027,"props":7573,"children":7574},{"style":1122},[7575],{"type":999,"value":7576}," __enter__",{"type":993,"tag":1027,"props":7578,"children":7579},{"style":1054},[7580],{"type":999,"value":4575},{"type":993,"tag":1027,"props":7582,"children":7583},{"class":1029,"line":100},[7584,7588],{"type":993,"tag":1027,"props":7585,"children":7586},{"style":1042},[7587],{"type":999,"value":2278},{"type":993,"tag":1027,"props":7589,"children":7590},{"style":1054},[7591],{"type":999,"value":1070},{"type":993,"tag":1027,"props":7593,"children":7594},{"class":1029,"line":109},[7595,7599,7603,7607,7612,7616,7621,7625,7630,7634,7639,7643,7647],{"type":993,"tag":1027,"props":7596,"children":7597},{"style":1122},[7598],{"type":999,"value":2307},{"type":993,"tag":1027,"props":7600,"children":7601},{"style":1054},[7602],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7604,"children":7605},{"style":1042},[7606],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7608,"children":7609},{"style":1139},[7610],{"type":999,"value":7611},"\"Connecting to ",{"type":993,"tag":1027,"props":7613,"children":7614},{"style":1122},[7615],{"type":999,"value":4615},{"type":993,"tag":1027,"props":7617,"children":7618},{"style":1054},[7619],{"type":999,"value":7620},".host",{"type":993,"tag":1027,"props":7622,"children":7623},{"style":1122},[7624],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7626,"children":7627},{"style":1139},[7628],{"type":999,"value":7629},":",{"type":993,"tag":1027,"props":7631,"children":7632},{"style":1122},[7633],{"type":999,"value":4615},{"type":993,"tag":1027,"props":7635,"children":7636},{"style":1054},[7637],{"type":999,"value":7638},".port",{"type":993,"tag":1027,"props":7640,"children":7641},{"style":1122},[7642],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7644,"children":7645},{"style":1139},[7646],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7648,"children":7649},{"style":1054},[7650],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7652,"children":7653},{"class":1029,"line":118},[7654],{"type":993,"tag":1027,"props":7655,"children":7656},{"style":1033},[7657],{"type":999,"value":7658},"            # Simulate connection\n",{"type":993,"tag":1027,"props":7660,"children":7661},{"class":1029,"line":127},[7662,7666,7670,7674],{"type":993,"tag":1027,"props":7663,"children":7664},{"style":1122},[7665],{"type":999,"value":6081},{"type":993,"tag":1027,"props":7667,"children":7668},{"style":1054},[7669],{"type":999,"value":7549},{"type":993,"tag":1027,"props":7671,"children":7672},{"style":1042},[7673],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7675,"children":7676},{"style":1122},[7677],{"type":999,"value":5202},{"type":993,"tag":1027,"props":7679,"children":7680},{"class":1029,"line":136},[7681,7685],{"type":993,"tag":1027,"props":7682,"children":7683},{"style":1042},[7684],{"type":999,"value":1286},{"type":993,"tag":1027,"props":7686,"children":7687},{"style":1122},[7688],{"type":999,"value":7689}," self\n",{"type":993,"tag":1027,"props":7691,"children":7692},{"class":1029,"line":146},[7693,7697,7701,7705],{"type":993,"tag":1027,"props":7694,"children":7695},{"style":1042},[7696],{"type":999,"value":2366},{"type":993,"tag":1027,"props":7698,"children":7699},{"style":1122},[7700],{"type":999,"value":1429},{"type":993,"tag":1027,"props":7702,"children":7703},{"style":1042},[7704],{"type":999,"value":1434},{"type":993,"tag":1027,"props":7706,"children":7707},{"style":1054},[7708],{"type":999,"value":1439},{"type":993,"tag":1027,"props":7710,"children":7711},{"class":1029,"line":155},[7712,7716,7720,7724,7729,7733,7737,7741,7745],{"type":993,"tag":1027,"props":7713,"children":7714},{"style":1122},[7715],{"type":999,"value":2307},{"type":993,"tag":1027,"props":7717,"children":7718},{"style":1054},[7719],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7721,"children":7722},{"style":1042},[7723],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7725,"children":7726},{"style":1139},[7727],{"type":999,"value":7728},"\"Failed to connect: ",{"type":993,"tag":1027,"props":7730,"children":7731},{"style":1122},[7732],{"type":999,"value":1340},{"type":993,"tag":1027,"props":7734,"children":7735},{"style":1054},[7736],{"type":999,"value":1468},{"type":993,"tag":1027,"props":7738,"children":7739},{"style":1122},[7740],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7742,"children":7743},{"style":1139},[7744],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7746,"children":7747},{"style":1054},[7748],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7750,"children":7751},{"class":1029,"line":164},[7752],{"type":993,"tag":1027,"props":7753,"children":7754},{"style":1042},[7755],{"type":999,"value":7756},"            raise\n",{"type":993,"tag":1027,"props":7758,"children":7759},{"class":1029,"line":173},[7760],{"type":993,"tag":1027,"props":7761,"children":7762},{"style":1054},[7763],{"type":999,"value":1976},{"type":993,"tag":1027,"props":7765,"children":7766},{"class":1029,"line":182},[7767,7771,7776],{"type":993,"tag":1027,"props":7768,"children":7769},{"style":1042},[7770],{"type":999,"value":4428},{"type":993,"tag":1027,"props":7772,"children":7773},{"style":1122},[7774],{"type":999,"value":7775}," __exit__",{"type":993,"tag":1027,"props":7777,"children":7778},{"style":1054},[7779],{"type":999,"value":7780},"(self, exc_type, exc_value, traceback):\n",{"type":993,"tag":1027,"props":7782,"children":7783},{"class":1029,"line":191},[7784,7788,7792],{"type":993,"tag":1027,"props":7785,"children":7786},{"style":1042},[7787],{"type":999,"value":4583},{"type":993,"tag":1027,"props":7789,"children":7790},{"style":1122},[7791],{"type":999,"value":4588},{"type":993,"tag":1027,"props":7793,"children":7794},{"style":1054},[7795],{"type":999,"value":7796},".connected:\n",{"type":993,"tag":1027,"props":7798,"children":7799},{"class":1029,"line":201},[7800,7804,7808,7812,7817,7821,7825,7829,7833,7837,7841,7845,7849],{"type":993,"tag":1027,"props":7801,"children":7802},{"style":1122},[7803],{"type":999,"value":2307},{"type":993,"tag":1027,"props":7805,"children":7806},{"style":1054},[7807],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7809,"children":7810},{"style":1042},[7811],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7813,"children":7814},{"style":1139},[7815],{"type":999,"value":7816},"\"Closing connection to ",{"type":993,"tag":1027,"props":7818,"children":7819},{"style":1122},[7820],{"type":999,"value":4615},{"type":993,"tag":1027,"props":7822,"children":7823},{"style":1054},[7824],{"type":999,"value":7620},{"type":993,"tag":1027,"props":7826,"children":7827},{"style":1122},[7828],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7830,"children":7831},{"style":1139},[7832],{"type":999,"value":7629},{"type":993,"tag":1027,"props":7834,"children":7835},{"style":1122},[7836],{"type":999,"value":4615},{"type":993,"tag":1027,"props":7838,"children":7839},{"style":1054},[7840],{"type":999,"value":7638},{"type":993,"tag":1027,"props":7842,"children":7843},{"style":1122},[7844],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7846,"children":7847},{"style":1139},[7848],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7850,"children":7851},{"style":1054},[7852],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7854,"children":7855},{"class":1029,"line":210},[7856,7860,7864,7868],{"type":993,"tag":1027,"props":7857,"children":7858},{"style":1122},[7859],{"type":999,"value":6081},{"type":993,"tag":1027,"props":7861,"children":7862},{"style":1054},[7863],{"type":999,"value":7549},{"type":993,"tag":1027,"props":7865,"children":7866},{"style":1042},[7867],{"type":999,"value":1083},{"type":993,"tag":1027,"props":7869,"children":7870},{"style":1122},[7871],{"type":999,"value":7037},{"type":993,"tag":1027,"props":7873,"children":7874},{"class":1029,"line":219},[7875],{"type":993,"tag":1027,"props":7876,"children":7877},{"style":1054},[7878],{"type":999,"value":4123},{"type":993,"tag":1027,"props":7880,"children":7881},{"class":1029,"line":228},[7882,7886],{"type":993,"tag":1027,"props":7883,"children":7884},{"style":1042},[7885],{"type":999,"value":4583},{"type":993,"tag":1027,"props":7887,"children":7888},{"style":1054},[7889],{"type":999,"value":7890}," exc_type:\n",{"type":993,"tag":1027,"props":7892,"children":7893},{"class":1029,"line":238},[7894,7898,7902,7906,7911,7915,7920,7924,7928,7932,7937,7941,7945],{"type":993,"tag":1027,"props":7895,"children":7896},{"style":1122},[7897],{"type":999,"value":2307},{"type":993,"tag":1027,"props":7899,"children":7900},{"style":1054},[7901],{"type":999,"value":1325},{"type":993,"tag":1027,"props":7903,"children":7904},{"style":1042},[7905],{"type":999,"value":1330},{"type":993,"tag":1027,"props":7907,"children":7908},{"style":1139},[7909],{"type":999,"value":7910},"\"Exception occurred: ",{"type":993,"tag":1027,"props":7912,"children":7913},{"style":1122},[7914],{"type":999,"value":1340},{"type":993,"tag":1027,"props":7916,"children":7917},{"style":1054},[7918],{"type":999,"value":7919},"exc_type.",{"type":993,"tag":1027,"props":7921,"children":7922},{"style":1122},[7923],{"type":999,"value":4026},{"type":993,"tag":1027,"props":7925,"children":7926},{"style":1139},[7927],{"type":999,"value":2092},{"type":993,"tag":1027,"props":7929,"children":7930},{"style":1122},[7931],{"type":999,"value":1340},{"type":993,"tag":1027,"props":7933,"children":7934},{"style":1054},[7935],{"type":999,"value":7936},"exc_value",{"type":993,"tag":1027,"props":7938,"children":7939},{"style":1122},[7940],{"type":999,"value":1350},{"type":993,"tag":1027,"props":7942,"children":7943},{"style":1139},[7944],{"type":999,"value":1477},{"type":993,"tag":1027,"props":7946,"children":7947},{"style":1054},[7948],{"type":999,"value":1360},{"type":993,"tag":1027,"props":7950,"children":7951},{"class":1029,"line":247},[7952,7956,7961],{"type":993,"tag":1027,"props":7953,"children":7954},{"style":1042},[7955],{"type":999,"value":1106},{"type":993,"tag":1027,"props":7957,"children":7958},{"style":1122},[7959],{"type":999,"value":7960}," False",{"type":993,"tag":1027,"props":7962,"children":7963},{"style":1033},[7964],{"type":999,"value":7965},"  # Don't suppress exceptions\n",{"type":993,"tag":1027,"props":7967,"children":7968},{"class":1029,"line":256},[7969],{"type":993,"tag":1027,"props":7970,"children":7971},{"style":1054},[7972],{"type":999,"value":1976},{"type":993,"tag":1027,"props":7974,"children":7975},{"class":1029,"line":265},[7976,7980,7985],{"type":993,"tag":1027,"props":7977,"children":7978},{"style":1042},[7979],{"type":999,"value":4428},{"type":993,"tag":1027,"props":7981,"children":7982},{"style":1048},[7983],{"type":999,"value":7984}," execute_query",{"type":993,"tag":1027,"props":7986,"children":7987},{"style":1054},[7988],{"type":999,"value":7989},"(self, query):\n",{"type":993,"tag":1027,"props":7991,"children":7992},{"class":1029,"line":274},[7993,7997,8001,8005],{"type":993,"tag":1027,"props":7994,"children":7995},{"style":1042},[7996],{"type":999,"value":4583},{"type":993,"tag":1027,"props":7998,"children":7999},{"style":1042},[8000],{"type":999,"value":3288},{"type":993,"tag":1027,"props":8002,"children":8003},{"style":1122},[8004],{"type":999,"value":4588},{"type":993,"tag":1027,"props":8006,"children":8007},{"style":1054},[8008],{"type":999,"value":7796},{"type":993,"tag":1027,"props":8010,"children":8011},{"class":1029,"line":284},[8012,8017,8022,8026,8031],{"type":993,"tag":1027,"props":8013,"children":8014},{"style":1042},[8015],{"type":999,"value":8016},"            raise",{"type":993,"tag":1027,"props":8018,"children":8019},{"style":1122},[8020],{"type":999,"value":8021}," ConnectionError",{"type":993,"tag":1027,"props":8023,"children":8024},{"style":1054},[8025],{"type":999,"value":1325},{"type":993,"tag":1027,"props":8027,"children":8028},{"style":1139},[8029],{"type":999,"value":8030},"\"Not connected to database\"",{"type":993,"tag":1027,"props":8032,"children":8033},{"style":1054},[8034],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8036,"children":8037},{"class":1029,"line":293},[8038],{"type":993,"tag":1027,"props":8039,"children":8040},{"style":1054},[8041],{"type":999,"value":4123},{"type":993,"tag":1027,"props":8043,"children":8044},{"class":1029,"line":302},[8045],{"type":993,"tag":1027,"props":8046,"children":8047},{"style":1033},[8048],{"type":999,"value":8049},"        # Simulate query execution\n",{"type":993,"tag":1027,"props":8051,"children":8052},{"class":1029,"line":311},[8053,8057,8062,8066],{"type":993,"tag":1027,"props":8054,"children":8055},{"style":1042},[8056],{"type":999,"value":4583},{"type":993,"tag":1027,"props":8058,"children":8059},{"style":1139},[8060],{"type":999,"value":8061}," \"invalid\"",{"type":993,"tag":1027,"props":8063,"children":8064},{"style":1042},[8065],{"type":999,"value":3293},{"type":993,"tag":1027,"props":8067,"children":8068},{"style":1054},[8069],{"type":999,"value":8070}," query.lower():\n",{"type":993,"tag":1027,"props":8072,"children":8073},{"class":1029,"line":320},[8074,8078,8082,8086,8091],{"type":993,"tag":1027,"props":8075,"children":8076},{"style":1042},[8077],{"type":999,"value":8016},{"type":993,"tag":1027,"props":8079,"children":8080},{"style":1122},[8081],{"type":999,"value":3183},{"type":993,"tag":1027,"props":8083,"children":8084},{"style":1054},[8085],{"type":999,"value":1325},{"type":993,"tag":1027,"props":8087,"children":8088},{"style":1139},[8089],{"type":999,"value":8090},"\"Invalid SQL query\"",{"type":993,"tag":1027,"props":8092,"children":8093},{"style":1054},[8094],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8096,"children":8097},{"class":1029,"line":329},[8098],{"type":993,"tag":1027,"props":8099,"children":8100},{"style":1054},[8101],{"type":999,"value":4123},{"type":993,"tag":1027,"props":8103,"children":8104},{"class":1029,"line":338},[8105,8109,8113,8118,8122,8127,8131],{"type":993,"tag":1027,"props":8106,"children":8107},{"style":1042},[8108],{"type":999,"value":1106},{"type":993,"tag":1027,"props":8110,"children":8111},{"style":1042},[8112],{"type":999,"value":4605},{"type":993,"tag":1027,"props":8114,"children":8115},{"style":1139},[8116],{"type":999,"value":8117},"\"Query executed: ",{"type":993,"tag":1027,"props":8119,"children":8120},{"style":1122},[8121],{"type":999,"value":1340},{"type":993,"tag":1027,"props":8123,"children":8124},{"style":1054},[8125],{"type":999,"value":8126},"query",{"type":993,"tag":1027,"props":8128,"children":8129},{"style":1122},[8130],{"type":999,"value":1350},{"type":993,"tag":1027,"props":8132,"children":8133},{"style":1139},[8134],{"type":999,"value":4647},{"type":993,"tag":1027,"props":8136,"children":8137},{"class":1029,"line":347},[8138],{"type":993,"tag":1027,"props":8139,"children":8140},{"emptyLinePlaceholder":13},[8141],{"type":999,"value":1178},{"type":993,"tag":1027,"props":8143,"children":8144},{"class":1029,"line":356},[8145],{"type":993,"tag":1027,"props":8146,"children":8147},{"style":1033},[8148],{"type":999,"value":8149},"# Test context manager with error handling\n",{"type":993,"tag":1027,"props":8151,"children":8152},{"class":1029,"line":365},[8153,8158,8162],{"type":993,"tag":1027,"props":8154,"children":8155},{"style":1054},[8156],{"type":999,"value":8157},"queries ",{"type":993,"tag":1027,"props":8159,"children":8160},{"style":1042},[8161],{"type":999,"value":1083},{"type":993,"tag":1027,"props":8163,"children":8164},{"style":1054},[8165],{"type":999,"value":1993},{"type":993,"tag":1027,"props":8167,"children":8168},{"class":1029,"line":374},[8169,8174],{"type":993,"tag":1027,"props":8170,"children":8171},{"style":1139},[8172],{"type":999,"value":8173},"    \"SELECT * FROM users\"",{"type":993,"tag":1027,"props":8175,"children":8176},{"style":1054},[8177],{"type":999,"value":8178},",\n",{"type":993,"tag":1027,"props":8180,"children":8181},{"class":1029,"line":384},[8182,8187],{"type":993,"tag":1027,"props":8183,"children":8184},{"style":1139},[8185],{"type":999,"value":8186},"    \"INVALID QUERY\"",{"type":993,"tag":1027,"props":8188,"children":8189},{"style":1054},[8190],{"type":999,"value":8178},{"type":993,"tag":1027,"props":8192,"children":8193},{"class":1029,"line":393},[8194],{"type":993,"tag":1027,"props":8195,"children":8196},{"style":1139},[8197],{"type":999,"value":8198},"    \"UPDATE users SET active = true\"\n",{"type":993,"tag":1027,"props":8200,"children":8201},{"class":1029,"line":402},[8202],{"type":993,"tag":1027,"props":8203,"children":8204},{"style":1054},[8205],{"type":999,"value":2939},{"type":993,"tag":1027,"props":8207,"children":8208},{"class":1029,"line":411},[8209],{"type":993,"tag":1027,"props":8210,"children":8211},{"emptyLinePlaceholder":13},[8212],{"type":999,"value":1178},{"type":993,"tag":1027,"props":8214,"children":8215},{"class":1029,"line":420},[8216,8220,8225,8229],{"type":993,"tag":1027,"props":8217,"children":8218},{"style":1042},[8219],{"type":999,"value":5438},{"type":993,"tag":1027,"props":8221,"children":8222},{"style":1054},[8223],{"type":999,"value":8224}," query ",{"type":993,"tag":1027,"props":8226,"children":8227},{"style":1042},[8228],{"type":999,"value":2265},{"type":993,"tag":1027,"props":8230,"children":8231},{"style":1054},[8232],{"type":999,"value":8233}," queries:\n",{"type":993,"tag":1027,"props":8235,"children":8236},{"class":1029,"line":429},[8237,8241],{"type":993,"tag":1027,"props":8238,"children":8239},{"style":1042},[8240],{"type":999,"value":1065},{"type":993,"tag":1027,"props":8242,"children":8243},{"style":1054},[8244],{"type":999,"value":1070},{"type":993,"tag":1027,"props":8246,"children":8247},{"class":1029,"line":438},[8248,8252,8257,8261,8265,8269,8273,8277],{"type":993,"tag":1027,"props":8249,"children":8250},{"style":1042},[8251],{"type":999,"value":1222},{"type":993,"tag":1027,"props":8253,"children":8254},{"style":1054},[8255],{"type":999,"value":8256}," DatabaseConnection(",{"type":993,"tag":1027,"props":8258,"children":8259},{"style":1139},[8260],{"type":999,"value":6413},{"type":993,"tag":1027,"props":8262,"children":8263},{"style":1054},[8264],{"type":999,"value":1532},{"type":993,"tag":1027,"props":8266,"children":8267},{"style":1122},[8268],{"type":999,"value":6431},{"type":993,"tag":1027,"props":8270,"children":8271},{"style":1054},[8272],{"type":999,"value":1242},{"type":993,"tag":1027,"props":8274,"children":8275},{"style":1042},[8276],{"type":999,"value":1247},{"type":993,"tag":1027,"props":8278,"children":8279},{"style":1054},[8280],{"type":999,"value":8281}," db:\n",{"type":993,"tag":1027,"props":8283,"children":8284},{"class":1029,"line":447},[8285,8289,8293],{"type":993,"tag":1027,"props":8286,"children":8287},{"style":1054},[8288],{"type":999,"value":2290},{"type":993,"tag":1027,"props":8290,"children":8291},{"style":1042},[8292],{"type":999,"value":1083},{"type":993,"tag":1027,"props":8294,"children":8295},{"style":1054},[8296],{"type":999,"value":8297}," db.execute_query(query)\n",{"type":993,"tag":1027,"props":8299,"children":8300},{"class":1029,"line":457},[8301,8305,8309,8313,8318,8322,8326,8330,8334],{"type":993,"tag":1027,"props":8302,"children":8303},{"style":1122},[8304],{"type":999,"value":2307},{"type":993,"tag":1027,"props":8306,"children":8307},{"style":1054},[8308],{"type":999,"value":1325},{"type":993,"tag":1027,"props":8310,"children":8311},{"style":1042},[8312],{"type":999,"value":1330},{"type":993,"tag":1027,"props":8314,"children":8315},{"style":1139},[8316],{"type":999,"value":8317},"\"✅ ",{"type":993,"tag":1027,"props":8319,"children":8320},{"style":1122},[8321],{"type":999,"value":1340},{"type":993,"tag":1027,"props":8323,"children":8324},{"style":1054},[8325],{"type":999,"value":2346},{"type":993,"tag":1027,"props":8327,"children":8328},{"style":1122},[8329],{"type":999,"value":1350},{"type":993,"tag":1027,"props":8331,"children":8332},{"style":1139},[8333],{"type":999,"value":1477},{"type":993,"tag":1027,"props":8335,"children":8336},{"style":1054},[8337],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8339,"children":8340},{"class":1029,"line":466},[8341,8345,8349,8353],{"type":993,"tag":1027,"props":8342,"children":8343},{"style":1042},[8344],{"type":999,"value":1119},{"type":993,"tag":1027,"props":8346,"children":8347},{"style":1122},[8348],{"type":999,"value":8021},{"type":993,"tag":1027,"props":8350,"children":8351},{"style":1042},[8352],{"type":999,"value":1434},{"type":993,"tag":1027,"props":8354,"children":8355},{"style":1054},[8356],{"type":999,"value":1439},{"type":993,"tag":1027,"props":8358,"children":8359},{"class":1029,"line":475},[8360,8364,8368,8372,8377,8381,8385,8389,8393],{"type":993,"tag":1027,"props":8361,"children":8362},{"style":1122},[8363],{"type":999,"value":1320},{"type":993,"tag":1027,"props":8365,"children":8366},{"style":1054},[8367],{"type":999,"value":1325},{"type":993,"tag":1027,"props":8369,"children":8370},{"style":1042},[8371],{"type":999,"value":1330},{"type":993,"tag":1027,"props":8373,"children":8374},{"style":1139},[8375],{"type":999,"value":8376},"\"❌ Connection error: ",{"type":993,"tag":1027,"props":8378,"children":8379},{"style":1122},[8380],{"type":999,"value":1340},{"type":993,"tag":1027,"props":8382,"children":8383},{"style":1054},[8384],{"type":999,"value":1468},{"type":993,"tag":1027,"props":8386,"children":8387},{"style":1122},[8388],{"type":999,"value":1350},{"type":993,"tag":1027,"props":8390,"children":8391},{"style":1139},[8392],{"type":999,"value":1477},{"type":993,"tag":1027,"props":8394,"children":8395},{"style":1054},[8396],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8398,"children":8399},{"class":1029,"line":484},[8400,8404,8408,8412],{"type":993,"tag":1027,"props":8401,"children":8402},{"style":1042},[8403],{"type":999,"value":1119},{"type":993,"tag":1027,"props":8405,"children":8406},{"style":1122},[8407],{"type":999,"value":3183},{"type":993,"tag":1027,"props":8409,"children":8410},{"style":1042},[8411],{"type":999,"value":1434},{"type":993,"tag":1027,"props":8413,"children":8414},{"style":1054},[8415],{"type":999,"value":1439},{"type":993,"tag":1027,"props":8417,"children":8418},{"class":1029,"line":493},[8419,8423,8427,8431,8436,8440,8444,8448,8452],{"type":993,"tag":1027,"props":8420,"children":8421},{"style":1122},[8422],{"type":999,"value":1320},{"type":993,"tag":1027,"props":8424,"children":8425},{"style":1054},[8426],{"type":999,"value":1325},{"type":993,"tag":1027,"props":8428,"children":8429},{"style":1042},[8430],{"type":999,"value":1330},{"type":993,"tag":1027,"props":8432,"children":8433},{"style":1139},[8434],{"type":999,"value":8435},"\"❌ Query error: ",{"type":993,"tag":1027,"props":8437,"children":8438},{"style":1122},[8439],{"type":999,"value":1340},{"type":993,"tag":1027,"props":8441,"children":8442},{"style":1054},[8443],{"type":999,"value":1468},{"type":993,"tag":1027,"props":8445,"children":8446},{"style":1122},[8447],{"type":999,"value":1350},{"type":993,"tag":1027,"props":8449,"children":8450},{"style":1139},[8451],{"type":999,"value":1477},{"type":993,"tag":1027,"props":8453,"children":8454},{"style":1054},[8455],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8457,"children":8458},{"class":1029,"line":502},[8459,8463,8467,8471],{"type":993,"tag":1027,"props":8460,"children":8461},{"style":1042},[8462],{"type":999,"value":1119},{"type":993,"tag":1027,"props":8464,"children":8465},{"style":1122},[8466],{"type":999,"value":1429},{"type":993,"tag":1027,"props":8468,"children":8469},{"style":1042},[8470],{"type":999,"value":1434},{"type":993,"tag":1027,"props":8472,"children":8473},{"style":1054},[8474],{"type":999,"value":1439},{"type":993,"tag":1027,"props":8476,"children":8477},{"class":1029,"line":511},[8478,8482,8486,8490,8494,8498,8502,8506,8510],{"type":993,"tag":1027,"props":8479,"children":8480},{"style":1122},[8481],{"type":999,"value":1320},{"type":993,"tag":1027,"props":8483,"children":8484},{"style":1054},[8485],{"type":999,"value":1325},{"type":993,"tag":1027,"props":8487,"children":8488},{"style":1042},[8489],{"type":999,"value":1330},{"type":993,"tag":1027,"props":8491,"children":8492},{"style":1139},[8493],{"type":999,"value":3644},{"type":993,"tag":1027,"props":8495,"children":8496},{"style":1122},[8497],{"type":999,"value":1340},{"type":993,"tag":1027,"props":8499,"children":8500},{"style":1054},[8501],{"type":999,"value":1468},{"type":993,"tag":1027,"props":8503,"children":8504},{"style":1122},[8505],{"type":999,"value":1350},{"type":993,"tag":1027,"props":8507,"children":8508},{"style":1139},[8509],{"type":999,"value":1477},{"type":993,"tag":1027,"props":8511,"children":8512},{"style":1054},[8513],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8515,"children":8516},{"class":1029,"line":520},[8517,8522],{"type":993,"tag":1027,"props":8518,"children":8519},{"style":1122},[8520],{"type":999,"value":8521},"    print",{"type":993,"tag":1027,"props":8523,"children":8524},{"style":1054},[8525],{"type":999,"value":8526},"()\n",{"type":993,"tag":1648,"props":8528,"children":8530},{"id":8529},"production-error-handling",[8531],{"type":999,"value":8532},"🌟 Production Error Handling",{"type":993,"tag":1923,"props":8534,"children":8536},{"id":8535},"logging-and-monitoring",[8537],{"type":999,"value":8538},"Logging and Monitoring",{"type":993,"tag":1002,"props":8540,"children":8541},{},[8542],{"type":999,"value":8543},"Proper logging helps track errors in production environments for debugging and monitoring.",{"type":993,"tag":1013,"props":8545,"children":8546},{},[8547],{"type":993,"tag":1017,"props":8548,"children":8550},{"className":1019,"code":8549,"language":6,"meta":8,"style":8},"import logging\nimport datetime\n\n# Configure logging\nlogging.basicConfig(\n    level=logging.INFO,\n    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n    handlers=[\n        logging.StreamHandler(),  # Console output\n        # logging.FileHandler('app.log')  # File output (uncommented in real apps)\n    ]\n)\n\nlogger = logging.getLogger(__name__)\n\nclass ProductionErrorHandler:\n    \"\"\"Production-ready error handling with logging\"\"\"\n    \n    def __init__(self):\n        self.error_count = 0\n    \n    def handle_user_request(self, user_id, action):\n        \"\"\"Handle user request with comprehensive error logging\"\"\"\n        \n        try:\n            logger.info(f\"Processing request: user_id={user_id}, action={action}\")\n            \n            # Simulate different types of errors\n            if action == \"invalid_action\":\n                raise ValueError(\"Unsupported action requested\")\n            elif action == \"permission_denied\":\n                raise PermissionError(\"User lacks required permissions\")\n            elif action == \"server_error\":\n                raise RuntimeError(\"Internal server error\")\n            elif user_id is None:\n                raise ValueError(\"User ID is required\")\n            \n            # Simulate successful processing\n            result = f\"Action '{action}' completed for user {user_id}\"\n            logger.info(f\"Request successful: {result}\")\n            return {\"status\": \"success\", \"result\": result}\n            \n        except ValueError as e:\n            self.error_count += 1\n            logger.warning(f\"Validation error for user {user_id}: {e}\")\n            return {\n                \"status\": \"error\",\n                \"error_type\": \"validation_error\",\n                \"message\": str(e),\n                \"user_id\": user_id\n            }\n        \n        except PermissionError as e:\n            self.error_count += 1\n            logger.error(f\"Permission denied for user {user_id}: {e}\")\n            return {\n                \"status\": \"error\",\n                \"error_type\": \"permission_error\",\n                \"message\": \"Access denied\",\n                \"user_id\": user_id\n            }\n        \n        except Exception as e:\n            self.error_count += 1\n            logger.critical(f\"Unexpected error for user {user_id}: {e}\")\n            return {\n                \"status\": \"error\",\n                \"error_type\": \"internal_error\",\n                \"message\": \"An unexpected error occurred\",\n                \"user_id\": user_id\n            }\n    \n    def get_error_stats(self):\n        \"\"\"Return error statistics\"\"\"\n        return {\"total_errors\": self.error_count}\n\n# Test production error handling\nhandler = ProductionErrorHandler()\n\ntest_requests = [\n    (123, \"login\"),\n    (456, \"invalid_action\"),\n    (789, \"permission_denied\"),\n    (None, \"login\"),\n    (999, \"server_error\")\n]\n\nprint(\"Production Error Handling Test:\")\nprint(\"=\" * 40)\n\nfor user_id, action in test_requests:\n    response = handler.handle_user_request(user_id, action)\n    print(f\"User {user_id}, Action '{action}': {response['status']}\")\n    if response['status'] == 'error':\n        print(f\"  Error: {response['message']}\")\n\nprint(f\"\\nError Statistics: {handler.get_error_stats()}\")\n",[8551],{"type":993,"tag":1023,"props":8552,"children":8553},{"__ignoreMap":8},[8554,8565,8577,8584,8592,8600,8626,8684,8701,8714,8722,8729,8736,8743,8769,8776,8792,8800,8807,8822,8843,8850,8867,8875,8882,8893,8949,8956,8964,8989,9014,9038,9062,9086,9111,9135,9159,9166,9174,9227,9263,9302,9309,9328,9349,9402,9413,9434,9455,9477,9490,9498,9505,9524,9543,9596,9607,9626,9646,9666,9677,9684,9691,9710,9729,9782,9793,9812,9832,9852,9863,9870,9877,9893,9901,9930,9937,9945,9962,9969,9985,10011,10036,10061,10085,10110,10117,10124,10144,10174,10181,10202,10219,10302,10336,10385,10392],{"type":993,"tag":1027,"props":8555,"children":8556},{"class":1029,"line":12},[8557,8561],{"type":993,"tag":1027,"props":8558,"children":8559},{"style":1042},[8560],{"type":999,"value":3789},{"type":993,"tag":1027,"props":8562,"children":8563},{"style":1054},[8564],{"type":999,"value":5754},{"type":993,"tag":1027,"props":8566,"children":8567},{"class":1029,"line":27},[8568,8572],{"type":993,"tag":1027,"props":8569,"children":8570},{"style":1042},[8571],{"type":999,"value":3789},{"type":993,"tag":1027,"props":8573,"children":8574},{"style":1054},[8575],{"type":999,"value":8576}," datetime\n",{"type":993,"tag":1027,"props":8578,"children":8579},{"class":1029,"line":36},[8580],{"type":993,"tag":1027,"props":8581,"children":8582},{"emptyLinePlaceholder":13},[8583],{"type":999,"value":1178},{"type":993,"tag":1027,"props":8585,"children":8586},{"class":1029,"line":45},[8587],{"type":993,"tag":1027,"props":8588,"children":8589},{"style":1033},[8590],{"type":999,"value":8591},"# Configure logging\n",{"type":993,"tag":1027,"props":8593,"children":8594},{"class":1029,"line":54},[8595],{"type":993,"tag":1027,"props":8596,"children":8597},{"style":1054},[8598],{"type":999,"value":8599},"logging.basicConfig(\n",{"type":993,"tag":1027,"props":8601,"children":8602},{"class":1029,"line":63},[8603,8608,8612,8617,8622],{"type":993,"tag":1027,"props":8604,"children":8605},{"style":1250},[8606],{"type":999,"value":8607},"    level",{"type":993,"tag":1027,"props":8609,"children":8610},{"style":1042},[8611],{"type":999,"value":1083},{"type":993,"tag":1027,"props":8613,"children":8614},{"style":1054},[8615],{"type":999,"value":8616},"logging.",{"type":993,"tag":1027,"props":8618,"children":8619},{"style":1122},[8620],{"type":999,"value":8621},"INFO",{"type":993,"tag":1027,"props":8623,"children":8624},{"style":1054},[8625],{"type":999,"value":8178},{"type":993,"tag":1027,"props":8627,"children":8628},{"class":1029,"line":72},[8629,8634,8638,8643,8648,8653,8658,8662,8667,8671,8676,8680],{"type":993,"tag":1027,"props":8630,"children":8631},{"style":1250},[8632],{"type":999,"value":8633},"    format",{"type":993,"tag":1027,"props":8635,"children":8636},{"style":1042},[8637],{"type":999,"value":1083},{"type":993,"tag":1027,"props":8639,"children":8640},{"style":1139},[8641],{"type":999,"value":8642},"'",{"type":993,"tag":1027,"props":8644,"children":8645},{"style":1122},[8646],{"type":999,"value":8647},"%(asctime)s",{"type":993,"tag":1027,"props":8649,"children":8650},{"style":1139},[8651],{"type":999,"value":8652}," - ",{"type":993,"tag":1027,"props":8654,"children":8655},{"style":1122},[8656],{"type":999,"value":8657},"%(name)s",{"type":993,"tag":1027,"props":8659,"children":8660},{"style":1139},[8661],{"type":999,"value":8652},{"type":993,"tag":1027,"props":8663,"children":8664},{"style":1122},[8665],{"type":999,"value":8666},"%(levelname)s",{"type":993,"tag":1027,"props":8668,"children":8669},{"style":1139},[8670],{"type":999,"value":8652},{"type":993,"tag":1027,"props":8672,"children":8673},{"style":1122},[8674],{"type":999,"value":8675},"%(message)s",{"type":993,"tag":1027,"props":8677,"children":8678},{"style":1139},[8679],{"type":999,"value":8642},{"type":993,"tag":1027,"props":8681,"children":8682},{"style":1054},[8683],{"type":999,"value":8178},{"type":993,"tag":1027,"props":8685,"children":8686},{"class":1029,"line":81},[8687,8692,8696],{"type":993,"tag":1027,"props":8688,"children":8689},{"style":1250},[8690],{"type":999,"value":8691},"    handlers",{"type":993,"tag":1027,"props":8693,"children":8694},{"style":1042},[8695],{"type":999,"value":1083},{"type":993,"tag":1027,"props":8697,"children":8698},{"style":1054},[8699],{"type":999,"value":8700},"[\n",{"type":993,"tag":1027,"props":8702,"children":8703},{"class":1029,"line":91},[8704,8709],{"type":993,"tag":1027,"props":8705,"children":8706},{"style":1054},[8707],{"type":999,"value":8708},"        logging.StreamHandler(),  ",{"type":993,"tag":1027,"props":8710,"children":8711},{"style":1033},[8712],{"type":999,"value":8713},"# Console output\n",{"type":993,"tag":1027,"props":8715,"children":8716},{"class":1029,"line":100},[8717],{"type":993,"tag":1027,"props":8718,"children":8719},{"style":1033},[8720],{"type":999,"value":8721},"        # logging.FileHandler('app.log')  # File output (uncommented in real apps)\n",{"type":993,"tag":1027,"props":8723,"children":8724},{"class":1029,"line":109},[8725],{"type":993,"tag":1027,"props":8726,"children":8727},{"style":1054},[8728],{"type":999,"value":2240},{"type":993,"tag":1027,"props":8730,"children":8731},{"class":1029,"line":118},[8732],{"type":993,"tag":1027,"props":8733,"children":8734},{"style":1054},[8735],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8737,"children":8738},{"class":1029,"line":127},[8739],{"type":993,"tag":1027,"props":8740,"children":8741},{"emptyLinePlaceholder":13},[8742],{"type":999,"value":1178},{"type":993,"tag":1027,"props":8744,"children":8745},{"class":1029,"line":136},[8746,8751,8755,8760,8765],{"type":993,"tag":1027,"props":8747,"children":8748},{"style":1054},[8749],{"type":999,"value":8750},"logger ",{"type":993,"tag":1027,"props":8752,"children":8753},{"style":1042},[8754],{"type":999,"value":1083},{"type":993,"tag":1027,"props":8756,"children":8757},{"style":1054},[8758],{"type":999,"value":8759}," logging.getLogger(",{"type":993,"tag":1027,"props":8761,"children":8762},{"style":1122},[8763],{"type":999,"value":8764},"__name__",{"type":993,"tag":1027,"props":8766,"children":8767},{"style":1054},[8768],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8770,"children":8771},{"class":1029,"line":146},[8772],{"type":993,"tag":1027,"props":8773,"children":8774},{"emptyLinePlaceholder":13},[8775],{"type":999,"value":1178},{"type":993,"tag":1027,"props":8777,"children":8778},{"class":1029,"line":155},[8779,8783,8788],{"type":993,"tag":1027,"props":8780,"children":8781},{"style":1042},[8782],{"type":999,"value":4386},{"type":993,"tag":1027,"props":8784,"children":8785},{"style":1048},[8786],{"type":999,"value":8787}," ProductionErrorHandler",{"type":993,"tag":1027,"props":8789,"children":8790},{"style":1054},[8791],{"type":999,"value":1070},{"type":993,"tag":1027,"props":8793,"children":8794},{"class":1029,"line":164},[8795],{"type":993,"tag":1027,"props":8796,"children":8797},{"style":1139},[8798],{"type":999,"value":8799},"    \"\"\"Production-ready error handling with logging\"\"\"\n",{"type":993,"tag":1027,"props":8801,"children":8802},{"class":1029,"line":173},[8803],{"type":993,"tag":1027,"props":8804,"children":8805},{"style":1054},[8806],{"type":999,"value":1976},{"type":993,"tag":1027,"props":8808,"children":8809},{"class":1029,"line":182},[8810,8814,8818],{"type":993,"tag":1027,"props":8811,"children":8812},{"style":1042},[8813],{"type":999,"value":4428},{"type":993,"tag":1027,"props":8815,"children":8816},{"style":1122},[8817],{"type":999,"value":4433},{"type":993,"tag":1027,"props":8819,"children":8820},{"style":1054},[8821],{"type":999,"value":4575},{"type":993,"tag":1027,"props":8823,"children":8824},{"class":1029,"line":191},[8825,8829,8834,8838],{"type":993,"tag":1027,"props":8826,"children":8827},{"style":1122},[8828],{"type":999,"value":4495},{"type":993,"tag":1027,"props":8830,"children":8831},{"style":1054},[8832],{"type":999,"value":8833},".error_count ",{"type":993,"tag":1027,"props":8835,"children":8836},{"style":1042},[8837],{"type":999,"value":1083},{"type":993,"tag":1027,"props":8839,"children":8840},{"style":1122},[8841],{"type":999,"value":8842}," 0\n",{"type":993,"tag":1027,"props":8844,"children":8845},{"class":1029,"line":201},[8846],{"type":993,"tag":1027,"props":8847,"children":8848},{"style":1054},[8849],{"type":999,"value":1976},{"type":993,"tag":1027,"props":8851,"children":8852},{"class":1029,"line":210},[8853,8857,8862],{"type":993,"tag":1027,"props":8854,"children":8855},{"style":1042},[8856],{"type":999,"value":4428},{"type":993,"tag":1027,"props":8858,"children":8859},{"style":1048},[8860],{"type":999,"value":8861}," handle_user_request",{"type":993,"tag":1027,"props":8863,"children":8864},{"style":1054},[8865],{"type":999,"value":8866},"(self, user_id, action):\n",{"type":993,"tag":1027,"props":8868,"children":8869},{"class":1029,"line":219},[8870],{"type":993,"tag":1027,"props":8871,"children":8872},{"style":1139},[8873],{"type":999,"value":8874},"        \"\"\"Handle user request with comprehensive error logging\"\"\"\n",{"type":993,"tag":1027,"props":8876,"children":8877},{"class":1029,"line":228},[8878],{"type":993,"tag":1027,"props":8879,"children":8880},{"style":1054},[8881],{"type":999,"value":4123},{"type":993,"tag":1027,"props":8883,"children":8884},{"class":1029,"line":238},[8885,8889],{"type":993,"tag":1027,"props":8886,"children":8887},{"style":1042},[8888],{"type":999,"value":2278},{"type":993,"tag":1027,"props":8890,"children":8891},{"style":1054},[8892],{"type":999,"value":1070},{"type":993,"tag":1027,"props":8894,"children":8895},{"class":1029,"line":247},[8896,8901,8905,8910,8914,8919,8923,8928,8932,8937,8941,8945],{"type":993,"tag":1027,"props":8897,"children":8898},{"style":1054},[8899],{"type":999,"value":8900},"            logger.info(",{"type":993,"tag":1027,"props":8902,"children":8903},{"style":1042},[8904],{"type":999,"value":1330},{"type":993,"tag":1027,"props":8906,"children":8907},{"style":1139},[8908],{"type":999,"value":8909},"\"Processing request: user_id=",{"type":993,"tag":1027,"props":8911,"children":8912},{"style":1122},[8913],{"type":999,"value":1340},{"type":993,"tag":1027,"props":8915,"children":8916},{"style":1054},[8917],{"type":999,"value":8918},"user_id",{"type":993,"tag":1027,"props":8920,"children":8921},{"style":1122},[8922],{"type":999,"value":1350},{"type":993,"tag":1027,"props":8924,"children":8925},{"style":1139},[8926],{"type":999,"value":8927},", action=",{"type":993,"tag":1027,"props":8929,"children":8930},{"style":1122},[8931],{"type":999,"value":1340},{"type":993,"tag":1027,"props":8933,"children":8934},{"style":1054},[8935],{"type":999,"value":8936},"action",{"type":993,"tag":1027,"props":8938,"children":8939},{"style":1122},[8940],{"type":999,"value":1350},{"type":993,"tag":1027,"props":8942,"children":8943},{"style":1139},[8944],{"type":999,"value":1477},{"type":993,"tag":1027,"props":8946,"children":8947},{"style":1054},[8948],{"type":999,"value":1360},{"type":993,"tag":1027,"props":8950,"children":8951},{"class":1029,"line":256},[8952],{"type":993,"tag":1027,"props":8953,"children":8954},{"style":1054},[8955],{"type":999,"value":3095},{"type":993,"tag":1027,"props":8957,"children":8958},{"class":1029,"line":265},[8959],{"type":993,"tag":1027,"props":8960,"children":8961},{"style":1033},[8962],{"type":999,"value":8963},"            # Simulate different types of errors\n",{"type":993,"tag":1027,"props":8965,"children":8966},{"class":1029,"line":274},[8967,8971,8976,8980,8985],{"type":993,"tag":1027,"props":8968,"children":8969},{"style":1042},[8970],{"type":999,"value":3103},{"type":993,"tag":1027,"props":8972,"children":8973},{"style":1054},[8974],{"type":999,"value":8975}," action ",{"type":993,"tag":1027,"props":8977,"children":8978},{"style":1042},[8979],{"type":999,"value":3113},{"type":993,"tag":1027,"props":8981,"children":8982},{"style":1139},[8983],{"type":999,"value":8984}," \"invalid_action\"",{"type":993,"tag":1027,"props":8986,"children":8987},{"style":1054},[8988],{"type":999,"value":1070},{"type":993,"tag":1027,"props":8990,"children":8991},{"class":1029,"line":284},[8992,8997,9001,9005,9010],{"type":993,"tag":1027,"props":8993,"children":8994},{"style":1042},[8995],{"type":999,"value":8996},"                raise",{"type":993,"tag":1027,"props":8998,"children":8999},{"style":1122},[9000],{"type":999,"value":3183},{"type":993,"tag":1027,"props":9002,"children":9003},{"style":1054},[9004],{"type":999,"value":1325},{"type":993,"tag":1027,"props":9006,"children":9007},{"style":1139},[9008],{"type":999,"value":9009},"\"Unsupported action requested\"",{"type":993,"tag":1027,"props":9011,"children":9012},{"style":1054},[9013],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9015,"children":9016},{"class":1029,"line":293},[9017,9021,9025,9029,9034],{"type":993,"tag":1027,"props":9018,"children":9019},{"style":1042},[9020],{"type":999,"value":3254},{"type":993,"tag":1027,"props":9022,"children":9023},{"style":1054},[9024],{"type":999,"value":8975},{"type":993,"tag":1027,"props":9026,"children":9027},{"style":1042},[9028],{"type":999,"value":3113},{"type":993,"tag":1027,"props":9030,"children":9031},{"style":1139},[9032],{"type":999,"value":9033}," \"permission_denied\"",{"type":993,"tag":1027,"props":9035,"children":9036},{"style":1054},[9037],{"type":999,"value":1070},{"type":993,"tag":1027,"props":9039,"children":9040},{"class":1029,"line":302},[9041,9045,9049,9053,9058],{"type":993,"tag":1027,"props":9042,"children":9043},{"style":1042},[9044],{"type":999,"value":8996},{"type":993,"tag":1027,"props":9046,"children":9047},{"style":1122},[9048],{"type":999,"value":1372},{"type":993,"tag":1027,"props":9050,"children":9051},{"style":1054},[9052],{"type":999,"value":1325},{"type":993,"tag":1027,"props":9054,"children":9055},{"style":1139},[9056],{"type":999,"value":9057},"\"User lacks required permissions\"",{"type":993,"tag":1027,"props":9059,"children":9060},{"style":1054},[9061],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9063,"children":9064},{"class":1029,"line":311},[9065,9069,9073,9077,9082],{"type":993,"tag":1027,"props":9066,"children":9067},{"style":1042},[9068],{"type":999,"value":3254},{"type":993,"tag":1027,"props":9070,"children":9071},{"style":1054},[9072],{"type":999,"value":8975},{"type":993,"tag":1027,"props":9074,"children":9075},{"style":1042},[9076],{"type":999,"value":3113},{"type":993,"tag":1027,"props":9078,"children":9079},{"style":1139},[9080],{"type":999,"value":9081}," \"server_error\"",{"type":993,"tag":1027,"props":9083,"children":9084},{"style":1054},[9085],{"type":999,"value":1070},{"type":993,"tag":1027,"props":9087,"children":9088},{"class":1029,"line":320},[9089,9093,9098,9102,9107],{"type":993,"tag":1027,"props":9090,"children":9091},{"style":1042},[9092],{"type":999,"value":8996},{"type":993,"tag":1027,"props":9094,"children":9095},{"style":1122},[9096],{"type":999,"value":9097}," RuntimeError",{"type":993,"tag":1027,"props":9099,"children":9100},{"style":1054},[9101],{"type":999,"value":1325},{"type":993,"tag":1027,"props":9103,"children":9104},{"style":1139},[9105],{"type":999,"value":9106},"\"Internal server error\"",{"type":993,"tag":1027,"props":9108,"children":9109},{"style":1054},[9110],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9112,"children":9113},{"class":1029,"line":329},[9114,9118,9123,9127,9131],{"type":993,"tag":1027,"props":9115,"children":9116},{"style":1042},[9117],{"type":999,"value":3254},{"type":993,"tag":1027,"props":9119,"children":9120},{"style":1054},[9121],{"type":999,"value":9122}," user_id ",{"type":993,"tag":1027,"props":9124,"children":9125},{"style":1042},[9126],{"type":999,"value":5033},{"type":993,"tag":1027,"props":9128,"children":9129},{"style":1122},[9130],{"type":999,"value":5038},{"type":993,"tag":1027,"props":9132,"children":9133},{"style":1054},[9134],{"type":999,"value":1070},{"type":993,"tag":1027,"props":9136,"children":9137},{"class":1029,"line":338},[9138,9142,9146,9150,9155],{"type":993,"tag":1027,"props":9139,"children":9140},{"style":1042},[9141],{"type":999,"value":8996},{"type":993,"tag":1027,"props":9143,"children":9144},{"style":1122},[9145],{"type":999,"value":3183},{"type":993,"tag":1027,"props":9147,"children":9148},{"style":1054},[9149],{"type":999,"value":1325},{"type":993,"tag":1027,"props":9151,"children":9152},{"style":1139},[9153],{"type":999,"value":9154},"\"User ID is required\"",{"type":993,"tag":1027,"props":9156,"children":9157},{"style":1054},[9158],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9160,"children":9161},{"class":1029,"line":347},[9162],{"type":993,"tag":1027,"props":9163,"children":9164},{"style":1054},[9165],{"type":999,"value":3095},{"type":993,"tag":1027,"props":9167,"children":9168},{"class":1029,"line":356},[9169],{"type":993,"tag":1027,"props":9170,"children":9171},{"style":1033},[9172],{"type":999,"value":9173},"            # Simulate successful processing\n",{"type":993,"tag":1027,"props":9175,"children":9176},{"class":1029,"line":365},[9177,9181,9185,9189,9194,9198,9202,9206,9211,9215,9219,9223],{"type":993,"tag":1027,"props":9178,"children":9179},{"style":1054},[9180],{"type":999,"value":2290},{"type":993,"tag":1027,"props":9182,"children":9183},{"style":1042},[9184],{"type":999,"value":1083},{"type":993,"tag":1027,"props":9186,"children":9187},{"style":1042},[9188],{"type":999,"value":4605},{"type":993,"tag":1027,"props":9190,"children":9191},{"style":1139},[9192],{"type":999,"value":9193},"\"Action '",{"type":993,"tag":1027,"props":9195,"children":9196},{"style":1122},[9197],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9199,"children":9200},{"style":1054},[9201],{"type":999,"value":8936},{"type":993,"tag":1027,"props":9203,"children":9204},{"style":1122},[9205],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9207,"children":9208},{"style":1139},[9209],{"type":999,"value":9210},"' completed for user ",{"type":993,"tag":1027,"props":9212,"children":9213},{"style":1122},[9214],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9216,"children":9217},{"style":1054},[9218],{"type":999,"value":8918},{"type":993,"tag":1027,"props":9220,"children":9221},{"style":1122},[9222],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9224,"children":9225},{"style":1139},[9226],{"type":999,"value":4647},{"type":993,"tag":1027,"props":9228,"children":9229},{"class":1029,"line":374},[9230,9234,9238,9243,9247,9251,9255,9259],{"type":993,"tag":1027,"props":9231,"children":9232},{"style":1054},[9233],{"type":999,"value":8900},{"type":993,"tag":1027,"props":9235,"children":9236},{"style":1042},[9237],{"type":999,"value":1330},{"type":993,"tag":1027,"props":9239,"children":9240},{"style":1139},[9241],{"type":999,"value":9242},"\"Request successful: ",{"type":993,"tag":1027,"props":9244,"children":9245},{"style":1122},[9246],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9248,"children":9249},{"style":1054},[9250],{"type":999,"value":2346},{"type":993,"tag":1027,"props":9252,"children":9253},{"style":1122},[9254],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9256,"children":9257},{"style":1139},[9258],{"type":999,"value":1477},{"type":993,"tag":1027,"props":9260,"children":9261},{"style":1054},[9262],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9264,"children":9265},{"class":1029,"line":384},[9266,9270,9274,9279,9283,9288,9292,9297],{"type":993,"tag":1027,"props":9267,"children":9268},{"style":1042},[9269],{"type":999,"value":1286},{"type":993,"tag":1027,"props":9271,"children":9272},{"style":1054},[9273],{"type":999,"value":3872},{"type":993,"tag":1027,"props":9275,"children":9276},{"style":1139},[9277],{"type":999,"value":9278},"\"status\"",{"type":993,"tag":1027,"props":9280,"children":9281},{"style":1054},[9282],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9284,"children":9285},{"style":1139},[9286],{"type":999,"value":9287},"\"success\"",{"type":993,"tag":1027,"props":9289,"children":9290},{"style":1054},[9291],{"type":999,"value":1532},{"type":993,"tag":1027,"props":9293,"children":9294},{"style":1139},[9295],{"type":999,"value":9296},"\"result\"",{"type":993,"tag":1027,"props":9298,"children":9299},{"style":1054},[9300],{"type":999,"value":9301},": result}\n",{"type":993,"tag":1027,"props":9303,"children":9304},{"class":1029,"line":393},[9305],{"type":993,"tag":1027,"props":9306,"children":9307},{"style":1054},[9308],{"type":999,"value":3095},{"type":993,"tag":1027,"props":9310,"children":9311},{"class":1029,"line":402},[9312,9316,9320,9324],{"type":993,"tag":1027,"props":9313,"children":9314},{"style":1042},[9315],{"type":999,"value":2366},{"type":993,"tag":1027,"props":9317,"children":9318},{"style":1122},[9319],{"type":999,"value":3183},{"type":993,"tag":1027,"props":9321,"children":9322},{"style":1042},[9323],{"type":999,"value":1434},{"type":993,"tag":1027,"props":9325,"children":9326},{"style":1054},[9327],{"type":999,"value":1439},{"type":993,"tag":1027,"props":9329,"children":9330},{"class":1029,"line":411},[9331,9335,9339,9344],{"type":993,"tag":1027,"props":9332,"children":9333},{"style":1122},[9334],{"type":999,"value":6081},{"type":993,"tag":1027,"props":9336,"children":9337},{"style":1054},[9338],{"type":999,"value":8833},{"type":993,"tag":1027,"props":9340,"children":9341},{"style":1042},[9342],{"type":999,"value":9343},"+=",{"type":993,"tag":1027,"props":9345,"children":9346},{"style":1122},[9347],{"type":999,"value":9348}," 1\n",{"type":993,"tag":1027,"props":9350,"children":9351},{"class":1029,"line":420},[9352,9357,9361,9366,9370,9374,9378,9382,9386,9390,9394,9398],{"type":993,"tag":1027,"props":9353,"children":9354},{"style":1054},[9355],{"type":999,"value":9356},"            logger.warning(",{"type":993,"tag":1027,"props":9358,"children":9359},{"style":1042},[9360],{"type":999,"value":1330},{"type":993,"tag":1027,"props":9362,"children":9363},{"style":1139},[9364],{"type":999,"value":9365},"\"Validation error for user ",{"type":993,"tag":1027,"props":9367,"children":9368},{"style":1122},[9369],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9371,"children":9372},{"style":1054},[9373],{"type":999,"value":8918},{"type":993,"tag":1027,"props":9375,"children":9376},{"style":1122},[9377],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9379,"children":9380},{"style":1139},[9381],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9383,"children":9384},{"style":1122},[9385],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9387,"children":9388},{"style":1054},[9389],{"type":999,"value":1468},{"type":993,"tag":1027,"props":9391,"children":9392},{"style":1122},[9393],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9395,"children":9396},{"style":1139},[9397],{"type":999,"value":1477},{"type":993,"tag":1027,"props":9399,"children":9400},{"style":1054},[9401],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9403,"children":9404},{"class":1029,"line":429},[9405,9409],{"type":993,"tag":1027,"props":9406,"children":9407},{"style":1042},[9408],{"type":999,"value":1286},{"type":993,"tag":1027,"props":9410,"children":9411},{"style":1054},[9412],{"type":999,"value":2805},{"type":993,"tag":1027,"props":9414,"children":9415},{"class":1029,"line":438},[9416,9421,9425,9430],{"type":993,"tag":1027,"props":9417,"children":9418},{"style":1139},[9419],{"type":999,"value":9420},"                \"status\"",{"type":993,"tag":1027,"props":9422,"children":9423},{"style":1054},[9424],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9426,"children":9427},{"style":1139},[9428],{"type":999,"value":9429},"\"error\"",{"type":993,"tag":1027,"props":9431,"children":9432},{"style":1054},[9433],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9435,"children":9436},{"class":1029,"line":447},[9437,9442,9446,9451],{"type":993,"tag":1027,"props":9438,"children":9439},{"style":1139},[9440],{"type":999,"value":9441},"                \"error_type\"",{"type":993,"tag":1027,"props":9443,"children":9444},{"style":1054},[9445],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9447,"children":9448},{"style":1139},[9449],{"type":999,"value":9450},"\"validation_error\"",{"type":993,"tag":1027,"props":9452,"children":9453},{"style":1054},[9454],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9456,"children":9457},{"class":1029,"line":457},[9458,9463,9467,9472],{"type":993,"tag":1027,"props":9459,"children":9460},{"style":1139},[9461],{"type":999,"value":9462},"                \"message\"",{"type":993,"tag":1027,"props":9464,"children":9465},{"style":1054},[9466],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9468,"children":9469},{"style":1122},[9470],{"type":999,"value":9471},"str",{"type":993,"tag":1027,"props":9473,"children":9474},{"style":1054},[9475],{"type":999,"value":9476},"(e),\n",{"type":993,"tag":1027,"props":9478,"children":9479},{"class":1029,"line":466},[9480,9485],{"type":993,"tag":1027,"props":9481,"children":9482},{"style":1139},[9483],{"type":999,"value":9484},"                \"user_id\"",{"type":993,"tag":1027,"props":9486,"children":9487},{"style":1054},[9488],{"type":999,"value":9489},": user_id\n",{"type":993,"tag":1027,"props":9491,"children":9492},{"class":1029,"line":475},[9493],{"type":993,"tag":1027,"props":9494,"children":9495},{"style":1054},[9496],{"type":999,"value":9497},"            }\n",{"type":993,"tag":1027,"props":9499,"children":9500},{"class":1029,"line":484},[9501],{"type":993,"tag":1027,"props":9502,"children":9503},{"style":1054},[9504],{"type":999,"value":4123},{"type":993,"tag":1027,"props":9506,"children":9507},{"class":1029,"line":493},[9508,9512,9516,9520],{"type":993,"tag":1027,"props":9509,"children":9510},{"style":1042},[9511],{"type":999,"value":2366},{"type":993,"tag":1027,"props":9513,"children":9514},{"style":1122},[9515],{"type":999,"value":1372},{"type":993,"tag":1027,"props":9517,"children":9518},{"style":1042},[9519],{"type":999,"value":1434},{"type":993,"tag":1027,"props":9521,"children":9522},{"style":1054},[9523],{"type":999,"value":1439},{"type":993,"tag":1027,"props":9525,"children":9526},{"class":1029,"line":502},[9527,9531,9535,9539],{"type":993,"tag":1027,"props":9528,"children":9529},{"style":1122},[9530],{"type":999,"value":6081},{"type":993,"tag":1027,"props":9532,"children":9533},{"style":1054},[9534],{"type":999,"value":8833},{"type":993,"tag":1027,"props":9536,"children":9537},{"style":1042},[9538],{"type":999,"value":9343},{"type":993,"tag":1027,"props":9540,"children":9541},{"style":1122},[9542],{"type":999,"value":9348},{"type":993,"tag":1027,"props":9544,"children":9545},{"class":1029,"line":511},[9546,9551,9555,9560,9564,9568,9572,9576,9580,9584,9588,9592],{"type":993,"tag":1027,"props":9547,"children":9548},{"style":1054},[9549],{"type":999,"value":9550},"            logger.error(",{"type":993,"tag":1027,"props":9552,"children":9553},{"style":1042},[9554],{"type":999,"value":1330},{"type":993,"tag":1027,"props":9556,"children":9557},{"style":1139},[9558],{"type":999,"value":9559},"\"Permission denied for user ",{"type":993,"tag":1027,"props":9561,"children":9562},{"style":1122},[9563],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9565,"children":9566},{"style":1054},[9567],{"type":999,"value":8918},{"type":993,"tag":1027,"props":9569,"children":9570},{"style":1122},[9571],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9573,"children":9574},{"style":1139},[9575],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9577,"children":9578},{"style":1122},[9579],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9581,"children":9582},{"style":1054},[9583],{"type":999,"value":1468},{"type":993,"tag":1027,"props":9585,"children":9586},{"style":1122},[9587],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9589,"children":9590},{"style":1139},[9591],{"type":999,"value":1477},{"type":993,"tag":1027,"props":9593,"children":9594},{"style":1054},[9595],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9597,"children":9598},{"class":1029,"line":520},[9599,9603],{"type":993,"tag":1027,"props":9600,"children":9601},{"style":1042},[9602],{"type":999,"value":1286},{"type":993,"tag":1027,"props":9604,"children":9605},{"style":1054},[9606],{"type":999,"value":2805},{"type":993,"tag":1027,"props":9608,"children":9609},{"class":1029,"line":530},[9610,9614,9618,9622],{"type":993,"tag":1027,"props":9611,"children":9612},{"style":1139},[9613],{"type":999,"value":9420},{"type":993,"tag":1027,"props":9615,"children":9616},{"style":1054},[9617],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9619,"children":9620},{"style":1139},[9621],{"type":999,"value":9429},{"type":993,"tag":1027,"props":9623,"children":9624},{"style":1054},[9625],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9627,"children":9628},{"class":1029,"line":539},[9629,9633,9637,9642],{"type":993,"tag":1027,"props":9630,"children":9631},{"style":1139},[9632],{"type":999,"value":9441},{"type":993,"tag":1027,"props":9634,"children":9635},{"style":1054},[9636],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9638,"children":9639},{"style":1139},[9640],{"type":999,"value":9641},"\"permission_error\"",{"type":993,"tag":1027,"props":9643,"children":9644},{"style":1054},[9645],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9647,"children":9648},{"class":1029,"line":548},[9649,9653,9657,9662],{"type":993,"tag":1027,"props":9650,"children":9651},{"style":1139},[9652],{"type":999,"value":9462},{"type":993,"tag":1027,"props":9654,"children":9655},{"style":1054},[9656],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9658,"children":9659},{"style":1139},[9660],{"type":999,"value":9661},"\"Access denied\"",{"type":993,"tag":1027,"props":9663,"children":9664},{"style":1054},[9665],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9667,"children":9668},{"class":1029,"line":557},[9669,9673],{"type":993,"tag":1027,"props":9670,"children":9671},{"style":1139},[9672],{"type":999,"value":9484},{"type":993,"tag":1027,"props":9674,"children":9675},{"style":1054},[9676],{"type":999,"value":9489},{"type":993,"tag":1027,"props":9678,"children":9679},{"class":1029,"line":566},[9680],{"type":993,"tag":1027,"props":9681,"children":9682},{"style":1054},[9683],{"type":999,"value":9497},{"type":993,"tag":1027,"props":9685,"children":9686},{"class":1029,"line":575},[9687],{"type":993,"tag":1027,"props":9688,"children":9689},{"style":1054},[9690],{"type":999,"value":4123},{"type":993,"tag":1027,"props":9692,"children":9693},{"class":1029,"line":584},[9694,9698,9702,9706],{"type":993,"tag":1027,"props":9695,"children":9696},{"style":1042},[9697],{"type":999,"value":2366},{"type":993,"tag":1027,"props":9699,"children":9700},{"style":1122},[9701],{"type":999,"value":1429},{"type":993,"tag":1027,"props":9703,"children":9704},{"style":1042},[9705],{"type":999,"value":1434},{"type":993,"tag":1027,"props":9707,"children":9708},{"style":1054},[9709],{"type":999,"value":1439},{"type":993,"tag":1027,"props":9711,"children":9712},{"class":1029,"line":593},[9713,9717,9721,9725],{"type":993,"tag":1027,"props":9714,"children":9715},{"style":1122},[9716],{"type":999,"value":6081},{"type":993,"tag":1027,"props":9718,"children":9719},{"style":1054},[9720],{"type":999,"value":8833},{"type":993,"tag":1027,"props":9722,"children":9723},{"style":1042},[9724],{"type":999,"value":9343},{"type":993,"tag":1027,"props":9726,"children":9727},{"style":1122},[9728],{"type":999,"value":9348},{"type":993,"tag":1027,"props":9730,"children":9731},{"class":1029,"line":602},[9732,9737,9741,9746,9750,9754,9758,9762,9766,9770,9774,9778],{"type":993,"tag":1027,"props":9733,"children":9734},{"style":1054},[9735],{"type":999,"value":9736},"            logger.critical(",{"type":993,"tag":1027,"props":9738,"children":9739},{"style":1042},[9740],{"type":999,"value":1330},{"type":993,"tag":1027,"props":9742,"children":9743},{"style":1139},[9744],{"type":999,"value":9745},"\"Unexpected error for user ",{"type":993,"tag":1027,"props":9747,"children":9748},{"style":1122},[9749],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9751,"children":9752},{"style":1054},[9753],{"type":999,"value":8918},{"type":993,"tag":1027,"props":9755,"children":9756},{"style":1122},[9757],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9759,"children":9760},{"style":1139},[9761],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9763,"children":9764},{"style":1122},[9765],{"type":999,"value":1340},{"type":993,"tag":1027,"props":9767,"children":9768},{"style":1054},[9769],{"type":999,"value":1468},{"type":993,"tag":1027,"props":9771,"children":9772},{"style":1122},[9773],{"type":999,"value":1350},{"type":993,"tag":1027,"props":9775,"children":9776},{"style":1139},[9777],{"type":999,"value":1477},{"type":993,"tag":1027,"props":9779,"children":9780},{"style":1054},[9781],{"type":999,"value":1360},{"type":993,"tag":1027,"props":9783,"children":9784},{"class":1029,"line":611},[9785,9789],{"type":993,"tag":1027,"props":9786,"children":9787},{"style":1042},[9788],{"type":999,"value":1286},{"type":993,"tag":1027,"props":9790,"children":9791},{"style":1054},[9792],{"type":999,"value":2805},{"type":993,"tag":1027,"props":9794,"children":9795},{"class":1029,"line":621},[9796,9800,9804,9808],{"type":993,"tag":1027,"props":9797,"children":9798},{"style":1139},[9799],{"type":999,"value":9420},{"type":993,"tag":1027,"props":9801,"children":9802},{"style":1054},[9803],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9805,"children":9806},{"style":1139},[9807],{"type":999,"value":9429},{"type":993,"tag":1027,"props":9809,"children":9810},{"style":1054},[9811],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9813,"children":9814},{"class":1029,"line":630},[9815,9819,9823,9828],{"type":993,"tag":1027,"props":9816,"children":9817},{"style":1139},[9818],{"type":999,"value":9441},{"type":993,"tag":1027,"props":9820,"children":9821},{"style":1054},[9822],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9824,"children":9825},{"style":1139},[9826],{"type":999,"value":9827},"\"internal_error\"",{"type":993,"tag":1027,"props":9829,"children":9830},{"style":1054},[9831],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9833,"children":9834},{"class":1029,"line":639},[9835,9839,9843,9848],{"type":993,"tag":1027,"props":9836,"children":9837},{"style":1139},[9838],{"type":999,"value":9462},{"type":993,"tag":1027,"props":9840,"children":9841},{"style":1054},[9842],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9844,"children":9845},{"style":1139},[9846],{"type":999,"value":9847},"\"An unexpected error occurred\"",{"type":993,"tag":1027,"props":9849,"children":9850},{"style":1054},[9851],{"type":999,"value":8178},{"type":993,"tag":1027,"props":9853,"children":9854},{"class":1029,"line":648},[9855,9859],{"type":993,"tag":1027,"props":9856,"children":9857},{"style":1139},[9858],{"type":999,"value":9484},{"type":993,"tag":1027,"props":9860,"children":9861},{"style":1054},[9862],{"type":999,"value":9489},{"type":993,"tag":1027,"props":9864,"children":9865},{"class":1029,"line":657},[9866],{"type":993,"tag":1027,"props":9867,"children":9868},{"style":1054},[9869],{"type":999,"value":9497},{"type":993,"tag":1027,"props":9871,"children":9872},{"class":1029,"line":666},[9873],{"type":993,"tag":1027,"props":9874,"children":9875},{"style":1054},[9876],{"type":999,"value":1976},{"type":993,"tag":1027,"props":9878,"children":9879},{"class":1029,"line":675},[9880,9884,9889],{"type":993,"tag":1027,"props":9881,"children":9882},{"style":1042},[9883],{"type":999,"value":4428},{"type":993,"tag":1027,"props":9885,"children":9886},{"style":1048},[9887],{"type":999,"value":9888}," get_error_stats",{"type":993,"tag":1027,"props":9890,"children":9891},{"style":1054},[9892],{"type":999,"value":4575},{"type":993,"tag":1027,"props":9894,"children":9895},{"class":1029,"line":685},[9896],{"type":993,"tag":1027,"props":9897,"children":9898},{"style":1139},[9899],{"type":999,"value":9900},"        \"\"\"Return error statistics\"\"\"\n",{"type":993,"tag":1027,"props":9902,"children":9903},{"class":1029,"line":694},[9904,9908,9912,9917,9921,9925],{"type":993,"tag":1027,"props":9905,"children":9906},{"style":1042},[9907],{"type":999,"value":1106},{"type":993,"tag":1027,"props":9909,"children":9910},{"style":1054},[9911],{"type":999,"value":3872},{"type":993,"tag":1027,"props":9913,"children":9914},{"style":1139},[9915],{"type":999,"value":9916},"\"total_errors\"",{"type":993,"tag":1027,"props":9918,"children":9919},{"style":1054},[9920],{"type":999,"value":2092},{"type":993,"tag":1027,"props":9922,"children":9923},{"style":1122},[9924],{"type":999,"value":5938},{"type":993,"tag":1027,"props":9926,"children":9927},{"style":1054},[9928],{"type":999,"value":9929},".error_count}\n",{"type":993,"tag":1027,"props":9931,"children":9932},{"class":1029,"line":703},[9933],{"type":993,"tag":1027,"props":9934,"children":9935},{"emptyLinePlaceholder":13},[9936],{"type":999,"value":1178},{"type":993,"tag":1027,"props":9938,"children":9939},{"class":1029,"line":712},[9940],{"type":993,"tag":1027,"props":9941,"children":9942},{"style":1033},[9943],{"type":999,"value":9944},"# Test production error handling\n",{"type":993,"tag":1027,"props":9946,"children":9947},{"class":1029,"line":721},[9948,9953,9957],{"type":993,"tag":1027,"props":9949,"children":9950},{"style":1054},[9951],{"type":999,"value":9952},"handler ",{"type":993,"tag":1027,"props":9954,"children":9955},{"style":1042},[9956],{"type":999,"value":1083},{"type":993,"tag":1027,"props":9958,"children":9959},{"style":1054},[9960],{"type":999,"value":9961}," ProductionErrorHandler()\n",{"type":993,"tag":1027,"props":9963,"children":9964},{"class":1029,"line":730},[9965],{"type":993,"tag":1027,"props":9966,"children":9967},{"emptyLinePlaceholder":13},[9968],{"type":999,"value":1178},{"type":993,"tag":1027,"props":9970,"children":9971},{"class":1029,"line":739},[9972,9977,9981],{"type":993,"tag":1027,"props":9973,"children":9974},{"style":1054},[9975],{"type":999,"value":9976},"test_requests ",{"type":993,"tag":1027,"props":9978,"children":9979},{"style":1042},[9980],{"type":999,"value":1083},{"type":993,"tag":1027,"props":9982,"children":9983},{"style":1054},[9984],{"type":999,"value":1993},{"type":993,"tag":1027,"props":9986,"children":9987},{"class":1029,"line":749},[9988,9993,9998,10002,10007],{"type":993,"tag":1027,"props":9989,"children":9990},{"style":1054},[9991],{"type":999,"value":9992},"    (",{"type":993,"tag":1027,"props":9994,"children":9995},{"style":1122},[9996],{"type":999,"value":9997},"123",{"type":993,"tag":1027,"props":9999,"children":10000},{"style":1054},[10001],{"type":999,"value":1532},{"type":993,"tag":1027,"props":10003,"children":10004},{"style":1139},[10005],{"type":999,"value":10006},"\"login\"",{"type":993,"tag":1027,"props":10008,"children":10009},{"style":1054},[10010],{"type":999,"value":2154},{"type":993,"tag":1027,"props":10012,"children":10013},{"class":1029,"line":758},[10014,10018,10023,10027,10032],{"type":993,"tag":1027,"props":10015,"children":10016},{"style":1054},[10017],{"type":999,"value":9992},{"type":993,"tag":1027,"props":10019,"children":10020},{"style":1122},[10021],{"type":999,"value":10022},"456",{"type":993,"tag":1027,"props":10024,"children":10025},{"style":1054},[10026],{"type":999,"value":1532},{"type":993,"tag":1027,"props":10028,"children":10029},{"style":1139},[10030],{"type":999,"value":10031},"\"invalid_action\"",{"type":993,"tag":1027,"props":10033,"children":10034},{"style":1054},[10035],{"type":999,"value":2154},{"type":993,"tag":1027,"props":10037,"children":10038},{"class":1029,"line":767},[10039,10043,10048,10052,10057],{"type":993,"tag":1027,"props":10040,"children":10041},{"style":1054},[10042],{"type":999,"value":9992},{"type":993,"tag":1027,"props":10044,"children":10045},{"style":1122},[10046],{"type":999,"value":10047},"789",{"type":993,"tag":1027,"props":10049,"children":10050},{"style":1054},[10051],{"type":999,"value":1532},{"type":993,"tag":1027,"props":10053,"children":10054},{"style":1139},[10055],{"type":999,"value":10056},"\"permission_denied\"",{"type":993,"tag":1027,"props":10058,"children":10059},{"style":1054},[10060],{"type":999,"value":2154},{"type":993,"tag":1027,"props":10062,"children":10064},{"class":1029,"line":10063},84,[10065,10069,10073,10077,10081],{"type":993,"tag":1027,"props":10066,"children":10067},{"style":1054},[10068],{"type":999,"value":9992},{"type":993,"tag":1027,"props":10070,"children":10071},{"style":1122},[10072],{"type":999,"value":4447},{"type":993,"tag":1027,"props":10074,"children":10075},{"style":1054},[10076],{"type":999,"value":1532},{"type":993,"tag":1027,"props":10078,"children":10079},{"style":1139},[10080],{"type":999,"value":10006},{"type":993,"tag":1027,"props":10082,"children":10083},{"style":1054},[10084],{"type":999,"value":2154},{"type":993,"tag":1027,"props":10086,"children":10087},{"class":1029,"line":776},[10088,10092,10097,10101,10106],{"type":993,"tag":1027,"props":10089,"children":10090},{"style":1054},[10091],{"type":999,"value":9992},{"type":993,"tag":1027,"props":10093,"children":10094},{"style":1122},[10095],{"type":999,"value":10096},"999",{"type":993,"tag":1027,"props":10098,"children":10099},{"style":1054},[10100],{"type":999,"value":1532},{"type":993,"tag":1027,"props":10102,"children":10103},{"style":1139},[10104],{"type":999,"value":10105},"\"server_error\"",{"type":993,"tag":1027,"props":10107,"children":10108},{"style":1054},[10109],{"type":999,"value":1360},{"type":993,"tag":1027,"props":10111,"children":10112},{"class":1029,"line":785},[10113],{"type":993,"tag":1027,"props":10114,"children":10115},{"style":1054},[10116],{"type":999,"value":2939},{"type":993,"tag":1027,"props":10118,"children":10119},{"class":1029,"line":794},[10120],{"type":993,"tag":1027,"props":10121,"children":10122},{"emptyLinePlaceholder":13},[10123],{"type":999,"value":1178},{"type":993,"tag":1027,"props":10125,"children":10126},{"class":1029,"line":803},[10127,10131,10135,10140],{"type":993,"tag":1027,"props":10128,"children":10129},{"style":1122},[10130],{"type":999,"value":1517},{"type":993,"tag":1027,"props":10132,"children":10133},{"style":1054},[10134],{"type":999,"value":1325},{"type":993,"tag":1027,"props":10136,"children":10137},{"style":1139},[10138],{"type":999,"value":10139},"\"Production Error Handling Test:\"",{"type":993,"tag":1027,"props":10141,"children":10142},{"style":1054},[10143],{"type":999,"value":1360},{"type":993,"tag":1027,"props":10145,"children":10146},{"class":1029,"line":812},[10147,10151,10155,10160,10165,10170],{"type":993,"tag":1027,"props":10148,"children":10149},{"style":1122},[10150],{"type":999,"value":1517},{"type":993,"tag":1027,"props":10152,"children":10153},{"style":1054},[10154],{"type":999,"value":1325},{"type":993,"tag":1027,"props":10156,"children":10157},{"style":1139},[10158],{"type":999,"value":10159},"\"=\"",{"type":993,"tag":1027,"props":10161,"children":10162},{"style":1042},[10163],{"type":999,"value":10164}," *",{"type":993,"tag":1027,"props":10166,"children":10167},{"style":1122},[10168],{"type":999,"value":10169}," 40",{"type":993,"tag":1027,"props":10171,"children":10172},{"style":1054},[10173],{"type":999,"value":1360},{"type":993,"tag":1027,"props":10175,"children":10176},{"class":1029,"line":822},[10177],{"type":993,"tag":1027,"props":10178,"children":10179},{"emptyLinePlaceholder":13},[10180],{"type":999,"value":1178},{"type":993,"tag":1027,"props":10182,"children":10183},{"class":1029,"line":831},[10184,10188,10193,10197],{"type":993,"tag":1027,"props":10185,"children":10186},{"style":1042},[10187],{"type":999,"value":5438},{"type":993,"tag":1027,"props":10189,"children":10190},{"style":1054},[10191],{"type":999,"value":10192}," user_id, action ",{"type":993,"tag":1027,"props":10194,"children":10195},{"style":1042},[10196],{"type":999,"value":2265},{"type":993,"tag":1027,"props":10198,"children":10199},{"style":1054},[10200],{"type":999,"value":10201}," test_requests:\n",{"type":993,"tag":1027,"props":10203,"children":10204},{"class":1029,"line":840},[10205,10210,10214],{"type":993,"tag":1027,"props":10206,"children":10207},{"style":1054},[10208],{"type":999,"value":10209},"    response ",{"type":993,"tag":1027,"props":10211,"children":10212},{"style":1042},[10213],{"type":999,"value":1083},{"type":993,"tag":1027,"props":10215,"children":10216},{"style":1054},[10217],{"type":999,"value":10218}," handler.handle_user_request(user_id, action)\n",{"type":993,"tag":1027,"props":10220,"children":10221},{"class":1029,"line":849},[10222,10226,10230,10234,10238,10242,10246,10250,10255,10259,10263,10267,10271,10275,10280,10285,10290,10294,10298],{"type":993,"tag":1027,"props":10223,"children":10224},{"style":1122},[10225],{"type":999,"value":8521},{"type":993,"tag":1027,"props":10227,"children":10228},{"style":1054},[10229],{"type":999,"value":1325},{"type":993,"tag":1027,"props":10231,"children":10232},{"style":1042},[10233],{"type":999,"value":1330},{"type":993,"tag":1027,"props":10235,"children":10236},{"style":1139},[10237],{"type":999,"value":5496},{"type":993,"tag":1027,"props":10239,"children":10240},{"style":1122},[10241],{"type":999,"value":1340},{"type":993,"tag":1027,"props":10243,"children":10244},{"style":1054},[10245],{"type":999,"value":8918},{"type":993,"tag":1027,"props":10247,"children":10248},{"style":1122},[10249],{"type":999,"value":1350},{"type":993,"tag":1027,"props":10251,"children":10252},{"style":1139},[10253],{"type":999,"value":10254},", Action '",{"type":993,"tag":1027,"props":10256,"children":10257},{"style":1122},[10258],{"type":999,"value":1340},{"type":993,"tag":1027,"props":10260,"children":10261},{"style":1054},[10262],{"type":999,"value":8936},{"type":993,"tag":1027,"props":10264,"children":10265},{"style":1122},[10266],{"type":999,"value":1350},{"type":993,"tag":1027,"props":10268,"children":10269},{"style":1139},[10270],{"type":999,"value":4629},{"type":993,"tag":1027,"props":10272,"children":10273},{"style":1122},[10274],{"type":999,"value":1340},{"type":993,"tag":1027,"props":10276,"children":10277},{"style":1054},[10278],{"type":999,"value":10279},"response[",{"type":993,"tag":1027,"props":10281,"children":10282},{"style":1139},[10283],{"type":999,"value":10284},"'status'",{"type":993,"tag":1027,"props":10286,"children":10287},{"style":1054},[10288],{"type":999,"value":10289},"]",{"type":993,"tag":1027,"props":10291,"children":10292},{"style":1122},[10293],{"type":999,"value":1350},{"type":993,"tag":1027,"props":10295,"children":10296},{"style":1139},[10297],{"type":999,"value":1477},{"type":993,"tag":1027,"props":10299,"children":10300},{"style":1054},[10301],{"type":999,"value":1360},{"type":993,"tag":1027,"props":10303,"children":10304},{"class":1029,"line":858},[10305,10309,10314,10318,10323,10327,10332],{"type":993,"tag":1027,"props":10306,"children":10307},{"style":1042},[10308],{"type":999,"value":4886},{"type":993,"tag":1027,"props":10310,"children":10311},{"style":1054},[10312],{"type":999,"value":10313}," response[",{"type":993,"tag":1027,"props":10315,"children":10316},{"style":1139},[10317],{"type":999,"value":10284},{"type":993,"tag":1027,"props":10319,"children":10320},{"style":1054},[10321],{"type":999,"value":10322},"] ",{"type":993,"tag":1027,"props":10324,"children":10325},{"style":1042},[10326],{"type":999,"value":3113},{"type":993,"tag":1027,"props":10328,"children":10329},{"style":1139},[10330],{"type":999,"value":10331}," 'error'",{"type":993,"tag":1027,"props":10333,"children":10334},{"style":1054},[10335],{"type":999,"value":1070},{"type":993,"tag":1027,"props":10337,"children":10338},{"class":1029,"line":868},[10339,10343,10347,10351,10356,10360,10364,10369,10373,10377,10381],{"type":993,"tag":1027,"props":10340,"children":10341},{"style":1122},[10342],{"type":999,"value":1320},{"type":993,"tag":1027,"props":10344,"children":10345},{"style":1054},[10346],{"type":999,"value":1325},{"type":993,"tag":1027,"props":10348,"children":10349},{"style":1042},[10350],{"type":999,"value":1330},{"type":993,"tag":1027,"props":10352,"children":10353},{"style":1139},[10354],{"type":999,"value":10355},"\"  Error: ",{"type":993,"tag":1027,"props":10357,"children":10358},{"style":1122},[10359],{"type":999,"value":1340},{"type":993,"tag":1027,"props":10361,"children":10362},{"style":1054},[10363],{"type":999,"value":10279},{"type":993,"tag":1027,"props":10365,"children":10366},{"style":1139},[10367],{"type":999,"value":10368},"'message'",{"type":993,"tag":1027,"props":10370,"children":10371},{"style":1054},[10372],{"type":999,"value":10289},{"type":993,"tag":1027,"props":10374,"children":10375},{"style":1122},[10376],{"type":999,"value":1350},{"type":993,"tag":1027,"props":10378,"children":10379},{"style":1139},[10380],{"type":999,"value":1477},{"type":993,"tag":1027,"props":10382,"children":10383},{"style":1054},[10384],{"type":999,"value":1360},{"type":993,"tag":1027,"props":10386,"children":10387},{"class":1029,"line":877},[10388],{"type":993,"tag":1027,"props":10389,"children":10390},{"emptyLinePlaceholder":13},[10391],{"type":999,"value":1178},{"type":993,"tag":1027,"props":10393,"children":10394},{"class":1029,"line":886},[10395,10399,10403,10407,10411,10415,10420,10424,10429,10433,10437],{"type":993,"tag":1027,"props":10396,"children":10397},{"style":1122},[10398],{"type":999,"value":1517},{"type":993,"tag":1027,"props":10400,"children":10401},{"style":1054},[10402],{"type":999,"value":1325},{"type":993,"tag":1027,"props":10404,"children":10405},{"style":1042},[10406],{"type":999,"value":1330},{"type":993,"tag":1027,"props":10408,"children":10409},{"style":1139},[10410],{"type":999,"value":1477},{"type":993,"tag":1027,"props":10412,"children":10413},{"style":1122},[10414],{"type":999,"value":3043},{"type":993,"tag":1027,"props":10416,"children":10417},{"style":1139},[10418],{"type":999,"value":10419},"Error Statistics: ",{"type":993,"tag":1027,"props":10421,"children":10422},{"style":1122},[10423],{"type":999,"value":1340},{"type":993,"tag":1027,"props":10425,"children":10426},{"style":1054},[10427],{"type":999,"value":10428},"handler.get_error_stats()",{"type":993,"tag":1027,"props":10430,"children":10431},{"style":1122},[10432],{"type":999,"value":1350},{"type":993,"tag":1027,"props":10434,"children":10435},{"style":1139},[10436],{"type":999,"value":1477},{"type":993,"tag":1027,"props":10438,"children":10439},{"style":1054},[10440],{"type":999,"value":1360},{"type":993,"tag":1660,"props":10442,"children":10446},{"emoji":10443,"title":10444,"type":10445},"✅","Best Practices","success",[10447,10455,10478,10486,10509,10517,10540,10548],{"type":993,"tag":1002,"props":10448,"children":10449},{},[10450],{"type":993,"tag":1670,"props":10451,"children":10452},{},[10453],{"type":999,"value":10454},"Error Handling Guidelines:",{"type":993,"tag":1684,"props":10456,"children":10457},{},[10458,10463,10468,10473],{"type":993,"tag":1688,"props":10459,"children":10460},{},[10461],{"type":999,"value":10462},"Catch specific exceptions before generic ones",{"type":993,"tag":1688,"props":10464,"children":10465},{},[10466],{"type":999,"value":10467},"Always provide meaningful error messages to users",{"type":993,"tag":1688,"props":10469,"children":10470},{},[10471],{"type":999,"value":10472},"Log errors with sufficient context for debugging",{"type":993,"tag":1688,"props":10474,"children":10475},{},[10476],{"type":999,"value":10477},"Use custom exceptions for application-specific errors",{"type":993,"tag":1002,"props":10479,"children":10480},{},[10481],{"type":993,"tag":1670,"props":10482,"children":10483},{},[10484],{"type":999,"value":10485},"Production Considerations:",{"type":993,"tag":1684,"props":10487,"children":10488},{},[10489,10494,10499,10504],{"type":993,"tag":1688,"props":10490,"children":10491},{},[10492],{"type":999,"value":10493},"Never expose internal error details to end users",{"type":993,"tag":1688,"props":10495,"children":10496},{},[10497],{"type":999,"value":10498},"Implement proper logging and monitoring systems",{"type":993,"tag":1688,"props":10500,"children":10501},{},[10502],{"type":999,"value":10503},"Use error tracking services for production applications",{"type":993,"tag":1688,"props":10505,"children":10506},{},[10507],{"type":999,"value":10508},"Plan for graceful degradation when services fail",{"type":993,"tag":1002,"props":10510,"children":10511},{},[10512],{"type":993,"tag":1670,"props":10513,"children":10514},{},[10515],{"type":999,"value":10516},"Performance Tips:",{"type":993,"tag":1684,"props":10518,"children":10519},{},[10520,10525,10530,10535],{"type":993,"tag":1688,"props":10521,"children":10522},{},[10523],{"type":999,"value":10524},"Avoid using exceptions for normal program flow",{"type":993,"tag":1688,"props":10526,"children":10527},{},[10528],{"type":999,"value":10529},"Cache validation results when possible",{"type":993,"tag":1688,"props":10531,"children":10532},{},[10533],{"type":999,"value":10534},"Use early returns to reduce nesting in error handling",{"type":993,"tag":1688,"props":10536,"children":10537},{},[10538],{"type":999,"value":10539},"Consider circuit breaker patterns for external services",{"type":993,"tag":1002,"props":10541,"children":10542},{},[10543],{"type":993,"tag":1670,"props":10544,"children":10545},{},[10546],{"type":999,"value":10547},"Security Considerations:",{"type":993,"tag":1684,"props":10549,"children":10550},{},[10551,10556,10561,10566],{"type":993,"tag":1688,"props":10552,"children":10553},{},[10554],{"type":999,"value":10555},"Sanitize error messages to prevent information leakage",{"type":993,"tag":1688,"props":10557,"children":10558},{},[10559],{"type":999,"value":10560},"Log security-related exceptions for monitoring",{"type":993,"tag":1688,"props":10562,"children":10563},{},[10564],{"type":999,"value":10565},"Implement rate limiting for error-prone operations",{"type":993,"tag":1688,"props":10567,"children":10568},{},[10569],{"type":999,"value":10570},"Use proper authentication/authorization error handling",{"type":993,"tag":1648,"props":10572,"children":10574},{"id":10573},"essential-error-handling-methods-and-patterns",[10575],{"type":999,"value":10576},"Essential Error Handling Methods and Patterns",{"type":993,"tag":1002,"props":10578,"children":10579},{},[10580],{"type":999,"value":10581},"Understanding core error handling techniques enables robust application development with proper exception management.",{"type":993,"tag":10583,"props":10584,"children":10585},"table",{},[10586,10615],{"type":993,"tag":10587,"props":10588,"children":10589},"thead",{},[10590],{"type":993,"tag":10591,"props":10592,"children":10593},"tr",{},[10594,10600,10605,10610],{"type":993,"tag":10595,"props":10596,"children":10597},"th",{},[10598],{"type":999,"value":10599},"Pattern",{"type":993,"tag":10595,"props":10601,"children":10602},{},[10603],{"type":999,"value":10604},"Purpose",{"type":993,"tag":10595,"props":10606,"children":10607},{},[10608],{"type":999,"value":10609},"Example",{"type":993,"tag":10595,"props":10611,"children":10612},{},[10613],{"type":999,"value":10614},"Best Practice",{"type":993,"tag":10616,"props":10617,"children":10618},"tbody",{},[10619,10651,10682,10713,10744,10775,10806,10837],{"type":993,"tag":10591,"props":10620,"children":10621},{},[10622,10632,10637,10646],{"type":993,"tag":10623,"props":10624,"children":10625},"td",{},[10626],{"type":993,"tag":1023,"props":10627,"children":10629},{"className":10628},[],[10630],{"type":999,"value":10631},"try/except",{"type":993,"tag":10623,"props":10633,"children":10634},{},[10635],{"type":999,"value":10636},"Basic exception catching",{"type":993,"tag":10623,"props":10638,"children":10639},{},[10640],{"type":993,"tag":1023,"props":10641,"children":10643},{"className":10642},[],[10644],{"type":999,"value":10645},"try: risky_operation() except ValueError: handle_error()",{"type":993,"tag":10623,"props":10647,"children":10648},{},[10649],{"type":999,"value":10650},"Catch specific exceptions",{"type":993,"tag":10591,"props":10652,"children":10653},{},[10654,10663,10668,10677],{"type":993,"tag":10623,"props":10655,"children":10656},{},[10657],{"type":993,"tag":1023,"props":10658,"children":10660},{"className":10659},[],[10661],{"type":999,"value":10662},"try/except/else",{"type":993,"tag":10623,"props":10664,"children":10665},{},[10666],{"type":999,"value":10667},"Success-only code",{"type":993,"tag":10623,"props":10669,"children":10670},{},[10671],{"type":993,"tag":1023,"props":10672,"children":10674},{"className":10673},[],[10675],{"type":999,"value":10676},"try: operation() except: handle() else: success_code()",{"type":993,"tag":10623,"props":10678,"children":10679},{},[10680],{"type":999,"value":10681},"Use for post-operation logic",{"type":993,"tag":10591,"props":10683,"children":10684},{},[10685,10694,10699,10708],{"type":993,"tag":10623,"props":10686,"children":10687},{},[10688],{"type":993,"tag":1023,"props":10689,"children":10691},{"className":10690},[],[10692],{"type":999,"value":10693},"try/except/finally",{"type":993,"tag":10623,"props":10695,"children":10696},{},[10697],{"type":999,"value":10698},"Guaranteed cleanup",{"type":993,"tag":10623,"props":10700,"children":10701},{},[10702],{"type":993,"tag":1023,"props":10703,"children":10705},{"className":10704},[],[10706],{"type":999,"value":10707},"try: operation() except: handle() finally: cleanup()",{"type":993,"tag":10623,"props":10709,"children":10710},{},[10711],{"type":999,"value":10712},"Always runs cleanup",{"type":993,"tag":10591,"props":10714,"children":10715},{},[10716,10725,10730,10739],{"type":993,"tag":10623,"props":10717,"children":10718},{},[10719],{"type":993,"tag":1023,"props":10720,"children":10722},{"className":10721},[],[10723],{"type":999,"value":10724},"raise",{"type":993,"tag":10623,"props":10726,"children":10727},{},[10728],{"type":999,"value":10729},"Re-raise exceptions",{"type":993,"tag":10623,"props":10731,"children":10732},{},[10733],{"type":993,"tag":1023,"props":10734,"children":10736},{"className":10735},[],[10737],{"type":999,"value":10738},"except Exception as e: log(e); raise",{"type":993,"tag":10623,"props":10740,"children":10741},{},[10742],{"type":999,"value":10743},"Preserve original traceback",{"type":993,"tag":10591,"props":10745,"children":10746},{},[10747,10756,10761,10770],{"type":993,"tag":10623,"props":10748,"children":10749},{},[10750],{"type":993,"tag":1023,"props":10751,"children":10753},{"className":10752},[],[10754],{"type":999,"value":10755},"assert",{"type":993,"tag":10623,"props":10757,"children":10758},{},[10759],{"type":999,"value":10760},"Debug-time checks",{"type":993,"tag":10623,"props":10762,"children":10763},{},[10764],{"type":993,"tag":1023,"props":10765,"children":10767},{"className":10766},[],[10768],{"type":999,"value":10769},"assert value > 0, \"Value must be positive\"",{"type":993,"tag":10623,"props":10771,"children":10772},{},[10773],{"type":999,"value":10774},"Use for development checks",{"type":993,"tag":10591,"props":10776,"children":10777},{},[10778,10787,10792,10801],{"type":993,"tag":10623,"props":10779,"children":10780},{},[10781],{"type":993,"tag":1023,"props":10782,"children":10784},{"className":10783},[],[10785],{"type":999,"value":10786},"logging",{"type":993,"tag":10623,"props":10788,"children":10789},{},[10790],{"type":999,"value":10791},"Error recording",{"type":993,"tag":10623,"props":10793,"children":10794},{},[10795],{"type":993,"tag":1023,"props":10796,"children":10798},{"className":10797},[],[10799],{"type":999,"value":10800},"logging.error(\"Operation failed\", exc_info=True)",{"type":993,"tag":10623,"props":10802,"children":10803},{},[10804],{"type":999,"value":10805},"Include traceback info",{"type":993,"tag":10591,"props":10807,"children":10808},{},[10809,10818,10823,10832],{"type":993,"tag":10623,"props":10810,"children":10811},{},[10812],{"type":993,"tag":1023,"props":10813,"children":10815},{"className":10814},[],[10816],{"type":999,"value":10817},"custom exceptions",{"type":993,"tag":10623,"props":10819,"children":10820},{},[10821],{"type":999,"value":10822},"Domain-specific errors",{"type":993,"tag":10623,"props":10824,"children":10825},{},[10826],{"type":993,"tag":1023,"props":10827,"children":10829},{"className":10828},[],[10830],{"type":999,"value":10831},"class ValidationError(Exception): pass",{"type":993,"tag":10623,"props":10833,"children":10834},{},[10835],{"type":999,"value":10836},"Clear error categories",{"type":993,"tag":10591,"props":10838,"children":10839},{},[10840,10849,10854,10863],{"type":993,"tag":10623,"props":10841,"children":10842},{},[10843],{"type":993,"tag":1023,"props":10844,"children":10846},{"className":10845},[],[10847],{"type":999,"value":10848},"context managers",{"type":993,"tag":10623,"props":10850,"children":10851},{},[10852],{"type":999,"value":10853},"Resource management",{"type":993,"tag":10623,"props":10855,"children":10856},{},[10857],{"type":993,"tag":1023,"props":10858,"children":10860},{"className":10859},[],[10861],{"type":999,"value":10862},"with resource: operation()",{"type":993,"tag":10623,"props":10864,"children":10865},{},[10866],{"type":999,"value":10867},"Automatic cleanup",{"type":993,"tag":10869,"props":10870,"children":10872},"content-exercise",{":widget-view":10871,"category":6,"id":784},"true",[],{"type":993,"tag":10874,"props":10875,"children":10878},"exercise",{"hint":10876,"prompt":10877},"Use try/except for ValueError when converting to int, check for negative numbers and unrealistic ages with if statements","Create a simple age validator that handles different types of input errors. Build a function that asks for age input and handles invalid entries like non-numbers, negative values, and unrealistic ages.",[10879],{"type":993,"tag":1017,"props":10880,"children":10882},{"className":1019,"code":10881,"language":6,"meta":8,"style":8},"def get_valid_age():\n    # TODO: Get age input from user\n    # TODO: Handle non-numeric input (ValueError)\n    # TODO: Check for negative ages\n    # TODO: Check for unrealistic ages (over 150)\n    # TODO: Return valid age\n    pass\n\ndef validate_age_input(age_string):\n    # TODO: Convert string to integer\n    # TODO: Raise ValueError for invalid conversions\n    # TODO: Check age ranges\n    # TODO: Return validated age\n    pass\n\n# TODO: Test your functions\nprint(\"Age Validation Test:\")\ntest_inputs = [\"25\", \"abc\", \"-5\", \"200\", \"30\"]\n\nfor test_input in test_inputs:\n    try:\n        age = validate_age_input(test_input)\n        print(f\"Input '{test_input}': Valid age {age}\")\n    except ValueError as e:\n        print(f\"Input '{test_input}': Error - {e}\")\n    except Exception as e:\n        print(f\"Input '{test_input}': Unexpected error - {e}\")\n",[10883],{"type":993,"tag":1023,"props":10884,"children":10885},{"__ignoreMap":8},[10886,10902,10920,10936,10952,10968,10984,10992,10999,11016,11032,11048,11064,11080,11087,11094,11111,11131,11190,11197,11218,11229,11246,11304,11323,11379,11398],{"type":993,"tag":1027,"props":10887,"children":10888},{"class":1029,"line":12},[10889,10893,10898],{"type":993,"tag":1027,"props":10890,"children":10891},{"style":1042},[10892],{"type":999,"value":1045},{"type":993,"tag":1027,"props":10894,"children":10895},{"style":1048},[10896],{"type":999,"value":10897}," get_valid_age",{"type":993,"tag":1027,"props":10899,"children":10900},{"style":1054},[10901],{"type":999,"value":1960},{"type":993,"tag":1027,"props":10903,"children":10904},{"class":1029,"line":27},[10905,10910,10915],{"type":993,"tag":1027,"props":10906,"children":10907},{"style":1033},[10908],{"type":999,"value":10909},"    # ",{"type":993,"tag":1027,"props":10911,"children":10912},{"style":1042},[10913],{"type":999,"value":10914},"TODO",{"type":993,"tag":1027,"props":10916,"children":10917},{"style":1033},[10918],{"type":999,"value":10919},": Get age input from user\n",{"type":993,"tag":1027,"props":10921,"children":10922},{"class":1029,"line":36},[10923,10927,10931],{"type":993,"tag":1027,"props":10924,"children":10925},{"style":1033},[10926],{"type":999,"value":10909},{"type":993,"tag":1027,"props":10928,"children":10929},{"style":1042},[10930],{"type":999,"value":10914},{"type":993,"tag":1027,"props":10932,"children":10933},{"style":1033},[10934],{"type":999,"value":10935},": Handle non-numeric input (ValueError)\n",{"type":993,"tag":1027,"props":10937,"children":10938},{"class":1029,"line":45},[10939,10943,10947],{"type":993,"tag":1027,"props":10940,"children":10941},{"style":1033},[10942],{"type":999,"value":10909},{"type":993,"tag":1027,"props":10944,"children":10945},{"style":1042},[10946],{"type":999,"value":10914},{"type":993,"tag":1027,"props":10948,"children":10949},{"style":1033},[10950],{"type":999,"value":10951},": Check for negative ages\n",{"type":993,"tag":1027,"props":10953,"children":10954},{"class":1029,"line":54},[10955,10959,10963],{"type":993,"tag":1027,"props":10956,"children":10957},{"style":1033},[10958],{"type":999,"value":10909},{"type":993,"tag":1027,"props":10960,"children":10961},{"style":1042},[10962],{"type":999,"value":10914},{"type":993,"tag":1027,"props":10964,"children":10965},{"style":1033},[10966],{"type":999,"value":10967},": Check for unrealistic ages (over 150)\n",{"type":993,"tag":1027,"props":10969,"children":10970},{"class":1029,"line":63},[10971,10975,10979],{"type":993,"tag":1027,"props":10972,"children":10973},{"style":1033},[10974],{"type":999,"value":10909},{"type":993,"tag":1027,"props":10976,"children":10977},{"style":1042},[10978],{"type":999,"value":10914},{"type":993,"tag":1027,"props":10980,"children":10981},{"style":1033},[10982],{"type":999,"value":10983},": Return valid age\n",{"type":993,"tag":1027,"props":10985,"children":10986},{"class":1029,"line":72},[10987],{"type":993,"tag":1027,"props":10988,"children":10989},{"style":1042},[10990],{"type":999,"value":10991},"    pass\n",{"type":993,"tag":1027,"props":10993,"children":10994},{"class":1029,"line":81},[10995],{"type":993,"tag":1027,"props":10996,"children":10997},{"emptyLinePlaceholder":13},[10998],{"type":999,"value":1178},{"type":993,"tag":1027,"props":11000,"children":11001},{"class":1029,"line":91},[11002,11006,11011],{"type":993,"tag":1027,"props":11003,"children":11004},{"style":1042},[11005],{"type":999,"value":1045},{"type":993,"tag":1027,"props":11007,"children":11008},{"style":1048},[11009],{"type":999,"value":11010}," validate_age_input",{"type":993,"tag":1027,"props":11012,"children":11013},{"style":1054},[11014],{"type":999,"value":11015},"(age_string):\n",{"type":993,"tag":1027,"props":11017,"children":11018},{"class":1029,"line":100},[11019,11023,11027],{"type":993,"tag":1027,"props":11020,"children":11021},{"style":1033},[11022],{"type":999,"value":10909},{"type":993,"tag":1027,"props":11024,"children":11025},{"style":1042},[11026],{"type":999,"value":10914},{"type":993,"tag":1027,"props":11028,"children":11029},{"style":1033},[11030],{"type":999,"value":11031},": Convert string to integer\n",{"type":993,"tag":1027,"props":11033,"children":11034},{"class":1029,"line":109},[11035,11039,11043],{"type":993,"tag":1027,"props":11036,"children":11037},{"style":1033},[11038],{"type":999,"value":10909},{"type":993,"tag":1027,"props":11040,"children":11041},{"style":1042},[11042],{"type":999,"value":10914},{"type":993,"tag":1027,"props":11044,"children":11045},{"style":1033},[11046],{"type":999,"value":11047},": Raise ValueError for invalid conversions\n",{"type":993,"tag":1027,"props":11049,"children":11050},{"class":1029,"line":118},[11051,11055,11059],{"type":993,"tag":1027,"props":11052,"children":11053},{"style":1033},[11054],{"type":999,"value":10909},{"type":993,"tag":1027,"props":11056,"children":11057},{"style":1042},[11058],{"type":999,"value":10914},{"type":993,"tag":1027,"props":11060,"children":11061},{"style":1033},[11062],{"type":999,"value":11063},": Check age ranges\n",{"type":993,"tag":1027,"props":11065,"children":11066},{"class":1029,"line":127},[11067,11071,11075],{"type":993,"tag":1027,"props":11068,"children":11069},{"style":1033},[11070],{"type":999,"value":10909},{"type":993,"tag":1027,"props":11072,"children":11073},{"style":1042},[11074],{"type":999,"value":10914},{"type":993,"tag":1027,"props":11076,"children":11077},{"style":1033},[11078],{"type":999,"value":11079},": Return validated age\n",{"type":993,"tag":1027,"props":11081,"children":11082},{"class":1029,"line":136},[11083],{"type":993,"tag":1027,"props":11084,"children":11085},{"style":1042},[11086],{"type":999,"value":10991},{"type":993,"tag":1027,"props":11088,"children":11089},{"class":1029,"line":146},[11090],{"type":993,"tag":1027,"props":11091,"children":11092},{"emptyLinePlaceholder":13},[11093],{"type":999,"value":1178},{"type":993,"tag":1027,"props":11095,"children":11096},{"class":1029,"line":155},[11097,11102,11106],{"type":993,"tag":1027,"props":11098,"children":11099},{"style":1033},[11100],{"type":999,"value":11101},"# ",{"type":993,"tag":1027,"props":11103,"children":11104},{"style":1042},[11105],{"type":999,"value":10914},{"type":993,"tag":1027,"props":11107,"children":11108},{"style":1033},[11109],{"type":999,"value":11110},": Test your functions\n",{"type":993,"tag":1027,"props":11112,"children":11113},{"class":1029,"line":164},[11114,11118,11122,11127],{"type":993,"tag":1027,"props":11115,"children":11116},{"style":1122},[11117],{"type":999,"value":1517},{"type":993,"tag":1027,"props":11119,"children":11120},{"style":1054},[11121],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11123,"children":11124},{"style":1139},[11125],{"type":999,"value":11126},"\"Age Validation Test:\"",{"type":993,"tag":1027,"props":11128,"children":11129},{"style":1054},[11130],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11132,"children":11133},{"class":1029,"line":173},[11134,11139,11143,11148,11152,11156,11160,11164,11168,11172,11177,11181,11186],{"type":993,"tag":1027,"props":11135,"children":11136},{"style":1054},[11137],{"type":999,"value":11138},"test_inputs ",{"type":993,"tag":1027,"props":11140,"children":11141},{"style":1042},[11142],{"type":999,"value":1083},{"type":993,"tag":1027,"props":11144,"children":11145},{"style":1054},[11146],{"type":999,"value":11147}," [",{"type":993,"tag":1027,"props":11149,"children":11150},{"style":1139},[11151],{"type":999,"value":2822},{"type":993,"tag":1027,"props":11153,"children":11154},{"style":1054},[11155],{"type":999,"value":1532},{"type":993,"tag":1027,"props":11157,"children":11158},{"style":1139},[11159],{"type":999,"value":2840},{"type":993,"tag":1027,"props":11161,"children":11162},{"style":1054},[11163],{"type":999,"value":1532},{"type":993,"tag":1027,"props":11165,"children":11166},{"style":1139},[11167],{"type":999,"value":2831},{"type":993,"tag":1027,"props":11169,"children":11170},{"style":1054},[11171],{"type":999,"value":1532},{"type":993,"tag":1027,"props":11173,"children":11174},{"style":1139},[11175],{"type":999,"value":11176},"\"200\"",{"type":993,"tag":1027,"props":11178,"children":11179},{"style":1054},[11180],{"type":999,"value":1532},{"type":993,"tag":1027,"props":11182,"children":11183},{"style":1139},[11184],{"type":999,"value":11185},"\"30\"",{"type":993,"tag":1027,"props":11187,"children":11188},{"style":1054},[11189],{"type":999,"value":2939},{"type":993,"tag":1027,"props":11191,"children":11192},{"class":1029,"line":182},[11193],{"type":993,"tag":1027,"props":11194,"children":11195},{"emptyLinePlaceholder":13},[11196],{"type":999,"value":1178},{"type":993,"tag":1027,"props":11198,"children":11199},{"class":1029,"line":191},[11200,11204,11209,11213],{"type":993,"tag":1027,"props":11201,"children":11202},{"style":1042},[11203],{"type":999,"value":5438},{"type":993,"tag":1027,"props":11205,"children":11206},{"style":1054},[11207],{"type":999,"value":11208}," test_input ",{"type":993,"tag":1027,"props":11210,"children":11211},{"style":1042},[11212],{"type":999,"value":2265},{"type":993,"tag":1027,"props":11214,"children":11215},{"style":1054},[11216],{"type":999,"value":11217}," test_inputs:\n",{"type":993,"tag":1027,"props":11219,"children":11220},{"class":1029,"line":201},[11221,11225],{"type":993,"tag":1027,"props":11222,"children":11223},{"style":1042},[11224],{"type":999,"value":1065},{"type":993,"tag":1027,"props":11226,"children":11227},{"style":1054},[11228],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11230,"children":11231},{"class":1029,"line":210},[11232,11237,11241],{"type":993,"tag":1027,"props":11233,"children":11234},{"style":1054},[11235],{"type":999,"value":11236},"        age ",{"type":993,"tag":1027,"props":11238,"children":11239},{"style":1042},[11240],{"type":999,"value":1083},{"type":993,"tag":1027,"props":11242,"children":11243},{"style":1054},[11244],{"type":999,"value":11245}," validate_age_input(test_input)\n",{"type":993,"tag":1027,"props":11247,"children":11248},{"class":1029,"line":219},[11249,11253,11257,11261,11266,11270,11275,11279,11284,11288,11292,11296,11300],{"type":993,"tag":1027,"props":11250,"children":11251},{"style":1122},[11252],{"type":999,"value":1320},{"type":993,"tag":1027,"props":11254,"children":11255},{"style":1054},[11256],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11258,"children":11259},{"style":1042},[11260],{"type":999,"value":1330},{"type":993,"tag":1027,"props":11262,"children":11263},{"style":1139},[11264],{"type":999,"value":11265},"\"Input '",{"type":993,"tag":1027,"props":11267,"children":11268},{"style":1122},[11269],{"type":999,"value":1340},{"type":993,"tag":1027,"props":11271,"children":11272},{"style":1054},[11273],{"type":999,"value":11274},"test_input",{"type":993,"tag":1027,"props":11276,"children":11277},{"style":1122},[11278],{"type":999,"value":1350},{"type":993,"tag":1027,"props":11280,"children":11281},{"style":1139},[11282],{"type":999,"value":11283},"': Valid age ",{"type":993,"tag":1027,"props":11285,"children":11286},{"style":1122},[11287],{"type":999,"value":1340},{"type":993,"tag":1027,"props":11289,"children":11290},{"style":1054},[11291],{"type":999,"value":3527},{"type":993,"tag":1027,"props":11293,"children":11294},{"style":1122},[11295],{"type":999,"value":1350},{"type":993,"tag":1027,"props":11297,"children":11298},{"style":1139},[11299],{"type":999,"value":1477},{"type":993,"tag":1027,"props":11301,"children":11302},{"style":1054},[11303],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11305,"children":11306},{"class":1029,"line":228},[11307,11311,11315,11319],{"type":993,"tag":1027,"props":11308,"children":11309},{"style":1042},[11310],{"type":999,"value":1119},{"type":993,"tag":1027,"props":11312,"children":11313},{"style":1122},[11314],{"type":999,"value":3183},{"type":993,"tag":1027,"props":11316,"children":11317},{"style":1042},[11318],{"type":999,"value":1434},{"type":993,"tag":1027,"props":11320,"children":11321},{"style":1054},[11322],{"type":999,"value":1439},{"type":993,"tag":1027,"props":11324,"children":11325},{"class":1029,"line":238},[11326,11330,11334,11338,11342,11346,11350,11354,11359,11363,11367,11371,11375],{"type":993,"tag":1027,"props":11327,"children":11328},{"style":1122},[11329],{"type":999,"value":1320},{"type":993,"tag":1027,"props":11331,"children":11332},{"style":1054},[11333],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11335,"children":11336},{"style":1042},[11337],{"type":999,"value":1330},{"type":993,"tag":1027,"props":11339,"children":11340},{"style":1139},[11341],{"type":999,"value":11265},{"type":993,"tag":1027,"props":11343,"children":11344},{"style":1122},[11345],{"type":999,"value":1340},{"type":993,"tag":1027,"props":11347,"children":11348},{"style":1054},[11349],{"type":999,"value":11274},{"type":993,"tag":1027,"props":11351,"children":11352},{"style":1122},[11353],{"type":999,"value":1350},{"type":993,"tag":1027,"props":11355,"children":11356},{"style":1139},[11357],{"type":999,"value":11358},"': Error - ",{"type":993,"tag":1027,"props":11360,"children":11361},{"style":1122},[11362],{"type":999,"value":1340},{"type":993,"tag":1027,"props":11364,"children":11365},{"style":1054},[11366],{"type":999,"value":1468},{"type":993,"tag":1027,"props":11368,"children":11369},{"style":1122},[11370],{"type":999,"value":1350},{"type":993,"tag":1027,"props":11372,"children":11373},{"style":1139},[11374],{"type":999,"value":1477},{"type":993,"tag":1027,"props":11376,"children":11377},{"style":1054},[11378],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11380,"children":11381},{"class":1029,"line":247},[11382,11386,11390,11394],{"type":993,"tag":1027,"props":11383,"children":11384},{"style":1042},[11385],{"type":999,"value":1119},{"type":993,"tag":1027,"props":11387,"children":11388},{"style":1122},[11389],{"type":999,"value":1429},{"type":993,"tag":1027,"props":11391,"children":11392},{"style":1042},[11393],{"type":999,"value":1434},{"type":993,"tag":1027,"props":11395,"children":11396},{"style":1054},[11397],{"type":999,"value":1439},{"type":993,"tag":1027,"props":11399,"children":11400},{"class":1029,"line":256},[11401,11405,11409,11413,11417,11421,11425,11429,11434,11438,11442,11446,11450],{"type":993,"tag":1027,"props":11402,"children":11403},{"style":1122},[11404],{"type":999,"value":1320},{"type":993,"tag":1027,"props":11406,"children":11407},{"style":1054},[11408],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11410,"children":11411},{"style":1042},[11412],{"type":999,"value":1330},{"type":993,"tag":1027,"props":11414,"children":11415},{"style":1139},[11416],{"type":999,"value":11265},{"type":993,"tag":1027,"props":11418,"children":11419},{"style":1122},[11420],{"type":999,"value":1340},{"type":993,"tag":1027,"props":11422,"children":11423},{"style":1054},[11424],{"type":999,"value":11274},{"type":993,"tag":1027,"props":11426,"children":11427},{"style":1122},[11428],{"type":999,"value":1350},{"type":993,"tag":1027,"props":11430,"children":11431},{"style":1139},[11432],{"type":999,"value":11433},"': Unexpected error - ",{"type":993,"tag":1027,"props":11435,"children":11436},{"style":1122},[11437],{"type":999,"value":1340},{"type":993,"tag":1027,"props":11439,"children":11440},{"style":1054},[11441],{"type":999,"value":1468},{"type":993,"tag":1027,"props":11443,"children":11444},{"style":1122},[11445],{"type":999,"value":1350},{"type":993,"tag":1027,"props":11447,"children":11448},{"style":1139},[11449],{"type":999,"value":1477},{"type":993,"tag":1027,"props":11451,"children":11452},{"style":1054},[11453],{"type":999,"value":1360},{"type":993,"tag":1923,"props":11455,"children":11457},{"id":11456},"solution-and-explanation",[11458],{"type":999,"value":11459},"Solution and Explanation 💡",{"type":993,"tag":11461,"props":11462,"children":11463},"details",{},[11464,11472,12368,12376],{"type":993,"tag":11465,"props":11466,"children":11469},"summary",{"className":11467},[11468],"cursor-pointer",[11470],{"type":999,"value":11471},"Click to see the complete solution",{"type":993,"tag":1013,"props":11473,"children":11474},{},[11475],{"type":993,"tag":1017,"props":11476,"children":11478},{"className":1019,"code":11477,"language":6,"meta":8,"style":8},"def get_valid_age():\n    # Get age input from user with error handling\n    while True:\n        try:\n            age_input = input(\"Please enter your age: \")\n            age = validate_age_input(age_input)\n            return age\n        except ValueError as e:\n            print(f\"Error: {e}\")\n            print(\"Please try again.\")\n        except KeyboardInterrupt:\n            print(\"\\nInput cancelled.\")\n            return None\n\ndef validate_age_input(age_string):\n    # Convert string to integer\n    try:\n        age = int(age_string)\n    except ValueError:\n        raise ValueError(\"Age must be a valid number\")\n    \n    # Check for negative ages\n    if age \u003C 0:\n        raise ValueError(\"Age cannot be negative\")\n    \n    # Check for unrealistic ages (over 150)\n    if age > 150:\n        raise ValueError(\"Age cannot be over 150 years\")\n    \n    # Return validated age\n    return age\n\n# Test your functions\nprint(\"Age Validation Test:\")\ntest_inputs = [\"25\", \"abc\", \"-5\", \"200\", \"30\"]\n\nfor test_input in test_inputs:\n    try:\n        age = validate_age_input(test_input)\n        print(f\"Input '{test_input}': Valid age {age}\")\n    except ValueError as e:\n        print(f\"Input '{test_input}': Error - {e}\")\n    except Exception as e:\n        print(f\"Input '{test_input}': Unexpected error - {e}\")\n\n# Interactive test (uncomment to test with real input)\n# print(\"\\nInteractive test:\")\n# valid_age = get_valid_age()\n# if valid_age is not None:\n#     print(f\"Your age is: {valid_age}\")\n",[11479],{"type":993,"tag":1023,"props":11480,"children":11481},{"__ignoreMap":8},[11482,11497,11505,11522,11533,11563,11580,11592,11611,11651,11671,11687,11715,11726,11733,11748,11756,11767,11787,11802,11826,11833,11841,11864,11888,11895,11903,11927,11951,11958,11966,11977,11984,11992,12011,12066,12073,12092,12103,12118,12173,12192,12247,12266,12321,12328,12336,12344,12352,12360],{"type":993,"tag":1027,"props":11483,"children":11484},{"class":1029,"line":12},[11485,11489,11493],{"type":993,"tag":1027,"props":11486,"children":11487},{"style":1042},[11488],{"type":999,"value":1045},{"type":993,"tag":1027,"props":11490,"children":11491},{"style":1048},[11492],{"type":999,"value":10897},{"type":993,"tag":1027,"props":11494,"children":11495},{"style":1054},[11496],{"type":999,"value":1960},{"type":993,"tag":1027,"props":11498,"children":11499},{"class":1029,"line":27},[11500],{"type":993,"tag":1027,"props":11501,"children":11502},{"style":1033},[11503],{"type":999,"value":11504},"    # Get age input from user with error handling\n",{"type":993,"tag":1027,"props":11506,"children":11507},{"class":1029,"line":36},[11508,11513,11518],{"type":993,"tag":1027,"props":11509,"children":11510},{"style":1042},[11511],{"type":999,"value":11512},"    while",{"type":993,"tag":1027,"props":11514,"children":11515},{"style":1122},[11516],{"type":999,"value":11517}," True",{"type":993,"tag":1027,"props":11519,"children":11520},{"style":1054},[11521],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11523,"children":11524},{"class":1029,"line":45},[11525,11529],{"type":993,"tag":1027,"props":11526,"children":11527},{"style":1042},[11528],{"type":999,"value":2278},{"type":993,"tag":1027,"props":11530,"children":11531},{"style":1054},[11532],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11534,"children":11535},{"class":1029,"line":54},[11536,11541,11545,11550,11554,11559],{"type":993,"tag":1027,"props":11537,"children":11538},{"style":1054},[11539],{"type":999,"value":11540},"            age_input ",{"type":993,"tag":1027,"props":11542,"children":11543},{"style":1042},[11544],{"type":999,"value":1083},{"type":993,"tag":1027,"props":11546,"children":11547},{"style":1122},[11548],{"type":999,"value":11549}," input",{"type":993,"tag":1027,"props":11551,"children":11552},{"style":1054},[11553],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11555,"children":11556},{"style":1139},[11557],{"type":999,"value":11558},"\"Please enter your age: \"",{"type":993,"tag":1027,"props":11560,"children":11561},{"style":1054},[11562],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11564,"children":11565},{"class":1029,"line":63},[11566,11571,11575],{"type":993,"tag":1027,"props":11567,"children":11568},{"style":1054},[11569],{"type":999,"value":11570},"            age ",{"type":993,"tag":1027,"props":11572,"children":11573},{"style":1042},[11574],{"type":999,"value":1083},{"type":993,"tag":1027,"props":11576,"children":11577},{"style":1054},[11578],{"type":999,"value":11579}," validate_age_input(age_input)\n",{"type":993,"tag":1027,"props":11581,"children":11582},{"class":1029,"line":72},[11583,11587],{"type":993,"tag":1027,"props":11584,"children":11585},{"style":1042},[11586],{"type":999,"value":1286},{"type":993,"tag":1027,"props":11588,"children":11589},{"style":1054},[11590],{"type":999,"value":11591}," age\n",{"type":993,"tag":1027,"props":11593,"children":11594},{"class":1029,"line":81},[11595,11599,11603,11607],{"type":993,"tag":1027,"props":11596,"children":11597},{"style":1042},[11598],{"type":999,"value":2366},{"type":993,"tag":1027,"props":11600,"children":11601},{"style":1122},[11602],{"type":999,"value":3183},{"type":993,"tag":1027,"props":11604,"children":11605},{"style":1042},[11606],{"type":999,"value":1434},{"type":993,"tag":1027,"props":11608,"children":11609},{"style":1054},[11610],{"type":999,"value":1439},{"type":993,"tag":1027,"props":11612,"children":11613},{"class":1029,"line":91},[11614,11618,11622,11626,11631,11635,11639,11643,11647],{"type":993,"tag":1027,"props":11615,"children":11616},{"style":1122},[11617],{"type":999,"value":2307},{"type":993,"tag":1027,"props":11619,"children":11620},{"style":1054},[11621],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11623,"children":11624},{"style":1042},[11625],{"type":999,"value":1330},{"type":993,"tag":1027,"props":11627,"children":11628},{"style":1139},[11629],{"type":999,"value":11630},"\"Error: ",{"type":993,"tag":1027,"props":11632,"children":11633},{"style":1122},[11634],{"type":999,"value":1340},{"type":993,"tag":1027,"props":11636,"children":11637},{"style":1054},[11638],{"type":999,"value":1468},{"type":993,"tag":1027,"props":11640,"children":11641},{"style":1122},[11642],{"type":999,"value":1350},{"type":993,"tag":1027,"props":11644,"children":11645},{"style":1139},[11646],{"type":999,"value":1477},{"type":993,"tag":1027,"props":11648,"children":11649},{"style":1054},[11650],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11652,"children":11653},{"class":1029,"line":100},[11654,11658,11662,11667],{"type":993,"tag":1027,"props":11655,"children":11656},{"style":1122},[11657],{"type":999,"value":2307},{"type":993,"tag":1027,"props":11659,"children":11660},{"style":1054},[11661],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11663,"children":11664},{"style":1139},[11665],{"type":999,"value":11666},"\"Please try again.\"",{"type":993,"tag":1027,"props":11668,"children":11669},{"style":1054},[11670],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11672,"children":11673},{"class":1029,"line":109},[11674,11678,11683],{"type":993,"tag":1027,"props":11675,"children":11676},{"style":1042},[11677],{"type":999,"value":2366},{"type":993,"tag":1027,"props":11679,"children":11680},{"style":1122},[11681],{"type":999,"value":11682}," KeyboardInterrupt",{"type":993,"tag":1027,"props":11684,"children":11685},{"style":1054},[11686],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11688,"children":11689},{"class":1029,"line":118},[11690,11694,11698,11702,11706,11711],{"type":993,"tag":1027,"props":11691,"children":11692},{"style":1122},[11693],{"type":999,"value":2307},{"type":993,"tag":1027,"props":11695,"children":11696},{"style":1054},[11697],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11699,"children":11700},{"style":1139},[11701],{"type":999,"value":1477},{"type":993,"tag":1027,"props":11703,"children":11704},{"style":1122},[11705],{"type":999,"value":3043},{"type":993,"tag":1027,"props":11707,"children":11708},{"style":1139},[11709],{"type":999,"value":11710},"Input cancelled.\"",{"type":993,"tag":1027,"props":11712,"children":11713},{"style":1054},[11714],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11716,"children":11717},{"class":1029,"line":127},[11718,11722],{"type":993,"tag":1027,"props":11719,"children":11720},{"style":1042},[11721],{"type":999,"value":1286},{"type":993,"tag":1027,"props":11723,"children":11724},{"style":1122},[11725],{"type":999,"value":1494},{"type":993,"tag":1027,"props":11727,"children":11728},{"class":1029,"line":136},[11729],{"type":993,"tag":1027,"props":11730,"children":11731},{"emptyLinePlaceholder":13},[11732],{"type":999,"value":1178},{"type":993,"tag":1027,"props":11734,"children":11735},{"class":1029,"line":146},[11736,11740,11744],{"type":993,"tag":1027,"props":11737,"children":11738},{"style":1042},[11739],{"type":999,"value":1045},{"type":993,"tag":1027,"props":11741,"children":11742},{"style":1048},[11743],{"type":999,"value":11010},{"type":993,"tag":1027,"props":11745,"children":11746},{"style":1054},[11747],{"type":999,"value":11015},{"type":993,"tag":1027,"props":11749,"children":11750},{"class":1029,"line":155},[11751],{"type":993,"tag":1027,"props":11752,"children":11753},{"style":1033},[11754],{"type":999,"value":11755},"    # Convert string to integer\n",{"type":993,"tag":1027,"props":11757,"children":11758},{"class":1029,"line":164},[11759,11763],{"type":993,"tag":1027,"props":11760,"children":11761},{"style":1042},[11762],{"type":999,"value":1065},{"type":993,"tag":1027,"props":11764,"children":11765},{"style":1054},[11766],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11768,"children":11769},{"class":1029,"line":173},[11770,11774,11778,11782],{"type":993,"tag":1027,"props":11771,"children":11772},{"style":1054},[11773],{"type":999,"value":11236},{"type":993,"tag":1027,"props":11775,"children":11776},{"style":1042},[11777],{"type":999,"value":1083},{"type":993,"tag":1027,"props":11779,"children":11780},{"style":1122},[11781],{"type":999,"value":3139},{"type":993,"tag":1027,"props":11783,"children":11784},{"style":1054},[11785],{"type":999,"value":11786},"(age_string)\n",{"type":993,"tag":1027,"props":11788,"children":11789},{"class":1029,"line":182},[11790,11794,11798],{"type":993,"tag":1027,"props":11791,"children":11792},{"style":1042},[11793],{"type":999,"value":1119},{"type":993,"tag":1027,"props":11795,"children":11796},{"style":1122},[11797],{"type":999,"value":3183},{"type":993,"tag":1027,"props":11799,"children":11800},{"style":1054},[11801],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11803,"children":11804},{"class":1029,"line":191},[11805,11809,11813,11817,11822],{"type":993,"tag":1027,"props":11806,"children":11807},{"style":1042},[11808],{"type":999,"value":4903},{"type":993,"tag":1027,"props":11810,"children":11811},{"style":1122},[11812],{"type":999,"value":3183},{"type":993,"tag":1027,"props":11814,"children":11815},{"style":1054},[11816],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11818,"children":11819},{"style":1139},[11820],{"type":999,"value":11821},"\"Age must be a valid number\"",{"type":993,"tag":1027,"props":11823,"children":11824},{"style":1054},[11825],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11827,"children":11828},{"class":1029,"line":201},[11829],{"type":993,"tag":1027,"props":11830,"children":11831},{"style":1054},[11832],{"type":999,"value":1976},{"type":993,"tag":1027,"props":11834,"children":11835},{"class":1029,"line":210},[11836],{"type":993,"tag":1027,"props":11837,"children":11838},{"style":1033},[11839],{"type":999,"value":11840},"    # Check for negative ages\n",{"type":993,"tag":1027,"props":11842,"children":11843},{"class":1029,"line":219},[11844,11848,11852,11856,11860],{"type":993,"tag":1027,"props":11845,"children":11846},{"style":1042},[11847],{"type":999,"value":4886},{"type":993,"tag":1027,"props":11849,"children":11850},{"style":1054},[11851],{"type":999,"value":3460},{"type":993,"tag":1027,"props":11853,"children":11854},{"style":1042},[11855],{"type":999,"value":3162},{"type":993,"tag":1027,"props":11857,"children":11858},{"style":1122},[11859],{"type":999,"value":2149},{"type":993,"tag":1027,"props":11861,"children":11862},{"style":1054},[11863],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11865,"children":11866},{"class":1029,"line":228},[11867,11871,11875,11879,11884],{"type":993,"tag":1027,"props":11868,"children":11869},{"style":1042},[11870],{"type":999,"value":4903},{"type":993,"tag":1027,"props":11872,"children":11873},{"style":1122},[11874],{"type":999,"value":3183},{"type":993,"tag":1027,"props":11876,"children":11877},{"style":1054},[11878],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11880,"children":11881},{"style":1139},[11882],{"type":999,"value":11883},"\"Age cannot be negative\"",{"type":993,"tag":1027,"props":11885,"children":11886},{"style":1054},[11887],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11889,"children":11890},{"class":1029,"line":238},[11891],{"type":993,"tag":1027,"props":11892,"children":11893},{"style":1054},[11894],{"type":999,"value":1976},{"type":993,"tag":1027,"props":11896,"children":11897},{"class":1029,"line":247},[11898],{"type":993,"tag":1027,"props":11899,"children":11900},{"style":1033},[11901],{"type":999,"value":11902},"    # Check for unrealistic ages (over 150)\n",{"type":993,"tag":1027,"props":11904,"children":11905},{"class":1029,"line":256},[11906,11910,11914,11919,11923],{"type":993,"tag":1027,"props":11907,"children":11908},{"style":1042},[11909],{"type":999,"value":4886},{"type":993,"tag":1027,"props":11911,"children":11912},{"style":1054},[11913],{"type":999,"value":3460},{"type":993,"tag":1027,"props":11915,"children":11916},{"style":1042},[11917],{"type":999,"value":11918},">",{"type":993,"tag":1027,"props":11920,"children":11921},{"style":1122},[11922],{"type":999,"value":3470},{"type":993,"tag":1027,"props":11924,"children":11925},{"style":1054},[11926],{"type":999,"value":1070},{"type":993,"tag":1027,"props":11928,"children":11929},{"class":1029,"line":265},[11930,11934,11938,11942,11947],{"type":993,"tag":1027,"props":11931,"children":11932},{"style":1042},[11933],{"type":999,"value":4903},{"type":993,"tag":1027,"props":11935,"children":11936},{"style":1122},[11937],{"type":999,"value":3183},{"type":993,"tag":1027,"props":11939,"children":11940},{"style":1054},[11941],{"type":999,"value":1325},{"type":993,"tag":1027,"props":11943,"children":11944},{"style":1139},[11945],{"type":999,"value":11946},"\"Age cannot be over 150 years\"",{"type":993,"tag":1027,"props":11948,"children":11949},{"style":1054},[11950],{"type":999,"value":1360},{"type":993,"tag":1027,"props":11952,"children":11953},{"class":1029,"line":274},[11954],{"type":993,"tag":1027,"props":11955,"children":11956},{"style":1054},[11957],{"type":999,"value":1976},{"type":993,"tag":1027,"props":11959,"children":11960},{"class":1029,"line":284},[11961],{"type":993,"tag":1027,"props":11962,"children":11963},{"style":1033},[11964],{"type":999,"value":11965},"    # Return validated age\n",{"type":993,"tag":1027,"props":11967,"children":11968},{"class":1029,"line":293},[11969,11973],{"type":993,"tag":1027,"props":11970,"children":11971},{"style":1042},[11972],{"type":999,"value":1489},{"type":993,"tag":1027,"props":11974,"children":11975},{"style":1054},[11976],{"type":999,"value":11591},{"type":993,"tag":1027,"props":11978,"children":11979},{"class":1029,"line":302},[11980],{"type":993,"tag":1027,"props":11981,"children":11982},{"emptyLinePlaceholder":13},[11983],{"type":999,"value":1178},{"type":993,"tag":1027,"props":11985,"children":11986},{"class":1029,"line":311},[11987],{"type":993,"tag":1027,"props":11988,"children":11989},{"style":1033},[11990],{"type":999,"value":11991},"# Test your functions\n",{"type":993,"tag":1027,"props":11993,"children":11994},{"class":1029,"line":320},[11995,11999,12003,12007],{"type":993,"tag":1027,"props":11996,"children":11997},{"style":1122},[11998],{"type":999,"value":1517},{"type":993,"tag":1027,"props":12000,"children":12001},{"style":1054},[12002],{"type":999,"value":1325},{"type":993,"tag":1027,"props":12004,"children":12005},{"style":1139},[12006],{"type":999,"value":11126},{"type":993,"tag":1027,"props":12008,"children":12009},{"style":1054},[12010],{"type":999,"value":1360},{"type":993,"tag":1027,"props":12012,"children":12013},{"class":1029,"line":329},[12014,12018,12022,12026,12030,12034,12038,12042,12046,12050,12054,12058,12062],{"type":993,"tag":1027,"props":12015,"children":12016},{"style":1054},[12017],{"type":999,"value":11138},{"type":993,"tag":1027,"props":12019,"children":12020},{"style":1042},[12021],{"type":999,"value":1083},{"type":993,"tag":1027,"props":12023,"children":12024},{"style":1054},[12025],{"type":999,"value":11147},{"type":993,"tag":1027,"props":12027,"children":12028},{"style":1139},[12029],{"type":999,"value":2822},{"type":993,"tag":1027,"props":12031,"children":12032},{"style":1054},[12033],{"type":999,"value":1532},{"type":993,"tag":1027,"props":12035,"children":12036},{"style":1139},[12037],{"type":999,"value":2840},{"type":993,"tag":1027,"props":12039,"children":12040},{"style":1054},[12041],{"type":999,"value":1532},{"type":993,"tag":1027,"props":12043,"children":12044},{"style":1139},[12045],{"type":999,"value":2831},{"type":993,"tag":1027,"props":12047,"children":12048},{"style":1054},[12049],{"type":999,"value":1532},{"type":993,"tag":1027,"props":12051,"children":12052},{"style":1139},[12053],{"type":999,"value":11176},{"type":993,"tag":1027,"props":12055,"children":12056},{"style":1054},[12057],{"type":999,"value":1532},{"type":993,"tag":1027,"props":12059,"children":12060},{"style":1139},[12061],{"type":999,"value":11185},{"type":993,"tag":1027,"props":12063,"children":12064},{"style":1054},[12065],{"type":999,"value":2939},{"type":993,"tag":1027,"props":12067,"children":12068},{"class":1029,"line":338},[12069],{"type":993,"tag":1027,"props":12070,"children":12071},{"emptyLinePlaceholder":13},[12072],{"type":999,"value":1178},{"type":993,"tag":1027,"props":12074,"children":12075},{"class":1029,"line":347},[12076,12080,12084,12088],{"type":993,"tag":1027,"props":12077,"children":12078},{"style":1042},[12079],{"type":999,"value":5438},{"type":993,"tag":1027,"props":12081,"children":12082},{"style":1054},[12083],{"type":999,"value":11208},{"type":993,"tag":1027,"props":12085,"children":12086},{"style":1042},[12087],{"type":999,"value":2265},{"type":993,"tag":1027,"props":12089,"children":12090},{"style":1054},[12091],{"type":999,"value":11217},{"type":993,"tag":1027,"props":12093,"children":12094},{"class":1029,"line":356},[12095,12099],{"type":993,"tag":1027,"props":12096,"children":12097},{"style":1042},[12098],{"type":999,"value":1065},{"type":993,"tag":1027,"props":12100,"children":12101},{"style":1054},[12102],{"type":999,"value":1070},{"type":993,"tag":1027,"props":12104,"children":12105},{"class":1029,"line":365},[12106,12110,12114],{"type":993,"tag":1027,"props":12107,"children":12108},{"style":1054},[12109],{"type":999,"value":11236},{"type":993,"tag":1027,"props":12111,"children":12112},{"style":1042},[12113],{"type":999,"value":1083},{"type":993,"tag":1027,"props":12115,"children":12116},{"style":1054},[12117],{"type":999,"value":11245},{"type":993,"tag":1027,"props":12119,"children":12120},{"class":1029,"line":374},[12121,12125,12129,12133,12137,12141,12145,12149,12153,12157,12161,12165,12169],{"type":993,"tag":1027,"props":12122,"children":12123},{"style":1122},[12124],{"type":999,"value":1320},{"type":993,"tag":1027,"props":12126,"children":12127},{"style":1054},[12128],{"type":999,"value":1325},{"type":993,"tag":1027,"props":12130,"children":12131},{"style":1042},[12132],{"type":999,"value":1330},{"type":993,"tag":1027,"props":12134,"children":12135},{"style":1139},[12136],{"type":999,"value":11265},{"type":993,"tag":1027,"props":12138,"children":12139},{"style":1122},[12140],{"type":999,"value":1340},{"type":993,"tag":1027,"props":12142,"children":12143},{"style":1054},[12144],{"type":999,"value":11274},{"type":993,"tag":1027,"props":12146,"children":12147},{"style":1122},[12148],{"type":999,"value":1350},{"type":993,"tag":1027,"props":12150,"children":12151},{"style":1139},[12152],{"type":999,"value":11283},{"type":993,"tag":1027,"props":12154,"children":12155},{"style":1122},[12156],{"type":999,"value":1340},{"type":993,"tag":1027,"props":12158,"children":12159},{"style":1054},[12160],{"type":999,"value":3527},{"type":993,"tag":1027,"props":12162,"children":12163},{"style":1122},[12164],{"type":999,"value":1350},{"type":993,"tag":1027,"props":12166,"children":12167},{"style":1139},[12168],{"type":999,"value":1477},{"type":993,"tag":1027,"props":12170,"children":12171},{"style":1054},[12172],{"type":999,"value":1360},{"type":993,"tag":1027,"props":12174,"children":12175},{"class":1029,"line":384},[12176,12180,12184,12188],{"type":993,"tag":1027,"props":12177,"children":12178},{"style":1042},[12179],{"type":999,"value":1119},{"type":993,"tag":1027,"props":12181,"children":12182},{"style":1122},[12183],{"type":999,"value":3183},{"type":993,"tag":1027,"props":12185,"children":12186},{"style":1042},[12187],{"type":999,"value":1434},{"type":993,"tag":1027,"props":12189,"children":12190},{"style":1054},[12191],{"type":999,"value":1439},{"type":993,"tag":1027,"props":12193,"children":12194},{"class":1029,"line":393},[12195,12199,12203,12207,12211,12215,12219,12223,12227,12231,12235,12239,12243],{"type":993,"tag":1027,"props":12196,"children":12197},{"style":1122},[12198],{"type":999,"value":1320},{"type":993,"tag":1027,"props":12200,"children":12201},{"style":1054},[12202],{"type":999,"value":1325},{"type":993,"tag":1027,"props":12204,"children":12205},{"style":1042},[12206],{"type":999,"value":1330},{"type":993,"tag":1027,"props":12208,"children":12209},{"style":1139},[12210],{"type":999,"value":11265},{"type":993,"tag":1027,"props":12212,"children":12213},{"style":1122},[12214],{"type":999,"value":1340},{"type":993,"tag":1027,"props":12216,"children":12217},{"style":1054},[12218],{"type":999,"value":11274},{"type":993,"tag":1027,"props":12220,"children":12221},{"style":1122},[12222],{"type":999,"value":1350},{"type":993,"tag":1027,"props":12224,"children":12225},{"style":1139},[12226],{"type":999,"value":11358},{"type":993,"tag":1027,"props":12228,"children":12229},{"style":1122},[12230],{"type":999,"value":1340},{"type":993,"tag":1027,"props":12232,"children":12233},{"style":1054},[12234],{"type":999,"value":1468},{"type":993,"tag":1027,"props":12236,"children":12237},{"style":1122},[12238],{"type":999,"value":1350},{"type":993,"tag":1027,"props":12240,"children":12241},{"style":1139},[12242],{"type":999,"value":1477},{"type":993,"tag":1027,"props":12244,"children":12245},{"style":1054},[12246],{"type":999,"value":1360},{"type":993,"tag":1027,"props":12248,"children":12249},{"class":1029,"line":402},[12250,12254,12258,12262],{"type":993,"tag":1027,"props":12251,"children":12252},{"style":1042},[12253],{"type":999,"value":1119},{"type":993,"tag":1027,"props":12255,"children":12256},{"style":1122},[12257],{"type":999,"value":1429},{"type":993,"tag":1027,"props":12259,"children":12260},{"style":1042},[12261],{"type":999,"value":1434},{"type":993,"tag":1027,"props":12263,"children":12264},{"style":1054},[12265],{"type":999,"value":1439},{"type":993,"tag":1027,"props":12267,"children":12268},{"class":1029,"line":411},[12269,12273,12277,12281,12285,12289,12293,12297,12301,12305,12309,12313,12317],{"type":993,"tag":1027,"props":12270,"children":12271},{"style":1122},[12272],{"type":999,"value":1320},{"type":993,"tag":1027,"props":12274,"children":12275},{"style":1054},[12276],{"type":999,"value":1325},{"type":993,"tag":1027,"props":12278,"children":12279},{"style":1042},[12280],{"type":999,"value":1330},{"type":993,"tag":1027,"props":12282,"children":12283},{"style":1139},[12284],{"type":999,"value":11265},{"type":993,"tag":1027,"props":12286,"children":12287},{"style":1122},[12288],{"type":999,"value":1340},{"type":993,"tag":1027,"props":12290,"children":12291},{"style":1054},[12292],{"type":999,"value":11274},{"type":993,"tag":1027,"props":12294,"children":12295},{"style":1122},[12296],{"type":999,"value":1350},{"type":993,"tag":1027,"props":12298,"children":12299},{"style":1139},[12300],{"type":999,"value":11433},{"type":993,"tag":1027,"props":12302,"children":12303},{"style":1122},[12304],{"type":999,"value":1340},{"type":993,"tag":1027,"props":12306,"children":12307},{"style":1054},[12308],{"type":999,"value":1468},{"type":993,"tag":1027,"props":12310,"children":12311},{"style":1122},[12312],{"type":999,"value":1350},{"type":993,"tag":1027,"props":12314,"children":12315},{"style":1139},[12316],{"type":999,"value":1477},{"type":993,"tag":1027,"props":12318,"children":12319},{"style":1054},[12320],{"type":999,"value":1360},{"type":993,"tag":1027,"props":12322,"children":12323},{"class":1029,"line":420},[12324],{"type":993,"tag":1027,"props":12325,"children":12326},{"emptyLinePlaceholder":13},[12327],{"type":999,"value":1178},{"type":993,"tag":1027,"props":12329,"children":12330},{"class":1029,"line":429},[12331],{"type":993,"tag":1027,"props":12332,"children":12333},{"style":1033},[12334],{"type":999,"value":12335},"# Interactive test (uncomment to test with real input)\n",{"type":993,"tag":1027,"props":12337,"children":12338},{"class":1029,"line":438},[12339],{"type":993,"tag":1027,"props":12340,"children":12341},{"style":1033},[12342],{"type":999,"value":12343},"# print(\"\\nInteractive test:\")\n",{"type":993,"tag":1027,"props":12345,"children":12346},{"class":1029,"line":447},[12347],{"type":993,"tag":1027,"props":12348,"children":12349},{"style":1033},[12350],{"type":999,"value":12351},"# valid_age = get_valid_age()\n",{"type":993,"tag":1027,"props":12353,"children":12354},{"class":1029,"line":457},[12355],{"type":993,"tag":1027,"props":12356,"children":12357},{"style":1033},[12358],{"type":999,"value":12359},"# if valid_age is not None:\n",{"type":993,"tag":1027,"props":12361,"children":12362},{"class":1029,"line":466},[12363],{"type":993,"tag":1027,"props":12364,"children":12365},{"style":1033},[12366],{"type":999,"value":12367},"#     print(f\"Your age is: {valid_age}\")\n",{"type":993,"tag":1002,"props":12369,"children":12370},{},[12371],{"type":993,"tag":1670,"props":12372,"children":12373},{},[12374],{"type":999,"value":12375},"Key Learning Points:",{"type":993,"tag":1684,"props":12377,"children":12378},{},[12379,12391,12402,12413,12424],{"type":993,"tag":1688,"props":12380,"children":12381},{},[12382,12384,12389],{"type":999,"value":12383},"📌 ",{"type":993,"tag":1670,"props":12385,"children":12386},{},[12387],{"type":999,"value":12388},"try/except blocks",{"type":999,"value":12390},": Catch specific exceptions like ValueError",{"type":993,"tag":1688,"props":12392,"children":12393},{},[12394,12395,12400],{"type":999,"value":12383},{"type":993,"tag":1670,"props":12396,"children":12397},{},[12398],{"type":999,"value":12399},"Input validation",{"type":999,"value":12401},": Check data ranges and types before processing",{"type":993,"tag":1688,"props":12403,"children":12404},{},[12405,12406,12411],{"type":999,"value":12383},{"type":993,"tag":1670,"props":12407,"children":12408},{},[12409],{"type":999,"value":12410},"Error messages",{"type":999,"value":12412},": Provide clear, helpful error messages to users",{"type":993,"tag":1688,"props":12414,"children":12415},{},[12416,12417,12422],{"type":999,"value":12383},{"type":993,"tag":1670,"props":12418,"children":12419},{},[12420],{"type":999,"value":12421},"Exception hierarchy",{"type":999,"value":12423},": Handle specific exceptions before general ones",{"type":993,"tag":1688,"props":12425,"children":12426},{},[12427,12428,12433],{"type":999,"value":12383},{"type":993,"tag":1670,"props":12429,"children":12430},{},[12431],{"type":999,"value":12432},"User experience",{"type":999,"value":12434},": Loop until valid input is provided",{"type":993,"tag":1002,"props":12436,"children":12437},{},[12438,12440,12446],{"type":999,"value":12439},"Learn more about ",{"type":993,"tag":12441,"props":12442,"children":12443},"a",{"href":790},[12444],{"type":999,"value":12445},"getting user input",{"type":999,"value":12447}," to handle user interactions robustly with proper validation and error handling.",{"type":993,"tag":1648,"props":12449,"children":12451},{"id":12450},"test-your-knowledge",[12452],{"type":999,"value":12453},"Test Your Knowledge",{"type":993,"tag":1002,"props":12455,"children":12456},{},[12457],{"type":999,"value":12458},"Test what you've learned about error handling:",{"type":993,"tag":12460,"props":12461,"children":12465},"redirect-button",{"icon":12462,"label":12463,"url":12464},"pi pi-send","Take Quiz","/tutorial-quiz/python/error-handling",[],{"type":993,"tag":1648,"props":12467,"children":12469},{"id":12468},"whats-next",[12470],{"type":999,"value":12471},"What's Next?",{"type":993,"tag":1002,"props":12473,"children":12474},{},[12475],{"type":999,"value":12476},"Now that you can handle errors effectively, you're ready to explore getting user input. Learn how to create interactive programs that validate user input and provide engaging user experiences.",{"type":993,"tag":1002,"props":12478,"children":12479},{},[12480,12482,12486],{"type":999,"value":12481},"Ready to continue? Check out our lesson on ",{"type":993,"tag":12441,"props":12483,"children":12484},{"href":790},[12485],{"type":999,"value":791},{"type":999,"value":12487},".",{"type":993,"tag":12489,"props":12490,"children":12491},"style",{},[12492],{"type":999,"value":12493},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .app-dark-mode .shiki span {color: var(--shiki-app-dark-mode);background: var(--shiki-app-dark-mode-bg);font-style: var(--shiki-app-dark-mode-font-style);font-weight: var(--shiki-app-dark-mode-font-weight);text-decoration: var(--shiki-app-dark-mode-text-decoration);}html.app-dark-mode .shiki span {color: var(--shiki-app-dark-mode);background: var(--shiki-app-dark-mode-bg);font-style: var(--shiki-app-dark-mode-font-style);font-weight: var(--shiki-app-dark-mode-font-weight);text-decoration: var(--shiki-app-dark-mode-text-decoration);}",{"title":8,"searchDepth":36,"depth":36,"links":12495},[12496,12500,12504,12508,12511,12514,12515],{"id":1650,"depth":27,"text":1653,"children":12497},[12498,12499],{"id":1925,"depth":36,"text":1928},{"id":2730,"depth":36,"text":2733},{"id":3757,"depth":27,"text":3760,"children":12501},[12502,12503],{"id":3763,"depth":36,"text":3766},{"id":4360,"depth":36,"text":4363},{"id":5706,"depth":27,"text":5709,"children":12505},[12506,12507],{"id":5712,"depth":36,"text":5715},{"id":7430,"depth":36,"text":7433},{"id":8529,"depth":27,"text":8532,"children":12509},[12510],{"id":8535,"depth":36,"text":8538},{"id":10573,"depth":27,"text":10576,"children":12512},[12513],{"id":11456,"depth":36,"text":11459},{"id":12450,"depth":27,"text":12453},{"id":12468,"depth":27,"text":12471},1782373749291]