<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Rust-Programming-Language%2FC2%2FError-Handling%2FEnglish</id>
		<title>Rust-Programming-Language/C2/Error-Handling/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Rust-Programming-Language%2FC2%2FError-Handling%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;action=history"/>
		<updated>2026-05-13T00:01:42Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;diff=57432&amp;oldid=prev</id>
		<title>Madhurig at 09:58, 9 February 2026</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;diff=57432&amp;oldid=prev"/>
				<updated>2026-02-09T09:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 09:58, 9 February 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 136:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 136:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;We have declared a vector '''v''' with three elements.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;We have declared a vector '''v''' with three elements.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this program, it tries to access the element at index 99, which does &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;not exist.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this program, it tries to access the element at index 99, which does not exist.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After a panic, the program '''stops execution''', it does not continue to the next line.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After a panic, the program '''stops execution''', it does not continue to the next line.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 236:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 236:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|- &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|- &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|| '''Slide 8'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|| '''Slide 8'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|| As an assignment, do the following&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|| As an assignment, do the following&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;1. Create '''hello.txt''' file and with the text “Welcome to Rust tutorials”&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;1. Create '''hello.txt''' file and with the text “Welcome to Rust tutorials”&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2. Save the file in the error handling folder&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2. Save the file in the error handling folder&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Run the Error Propagation Operator program and check the output&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Run the Error Propagation Operator program and check the output&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|- &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|- &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Madhurig</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;diff=57274&amp;oldid=prev</id>
		<title>Madhurig at 12:07, 4 December 2025</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;diff=57274&amp;oldid=prev"/>
				<updated>2025-12-04T12:07:05Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;amp;diff=57274&amp;amp;oldid=57202&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Madhurig</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;diff=57202&amp;oldid=prev</id>
		<title>Nirmala Venkat: Created page with &quot;{| border=&quot;1&quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || &lt;span style=&quot;color:#000000;&quot;&gt;Welcome to the Spoken Tutorial on &lt;/span&gt;&lt;span style=&quot;color:#000000...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Rust-Programming-Language/C2/Error-Handling/English&amp;diff=57202&amp;oldid=prev"/>
				<updated>2025-10-27T06:41:24Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || &amp;#039;&amp;#039;&amp;#039;Visual Cue&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Narration&amp;#039;&amp;#039;&amp;#039; |- || &amp;#039;&amp;#039;&amp;#039;Slide 1&amp;#039;&amp;#039;&amp;#039; || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Error handling'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Recoverable Errors &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Unrecoverable Errors and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Error Propagation Operator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| To record this tutorial I’m using the following setup.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the Code Files link of this tutorial page.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide&amp;lt;/span&amp;gt; 6'''&lt;br /&gt;
&lt;br /&gt;
'''Types of Errors'''&lt;br /&gt;
|| In Rust, errors are categorized as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;1. &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Recoverable Errors'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; →These are anticipated failures, handled with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Option&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Result&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; enums&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;2. &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Unrecoverable Errors'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; → These are unexpected &amp;lt;/span&amp;gt;critical&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; failures. &amp;lt;/span&amp;gt;They lead&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; to a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''panic!'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and program termination.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new errorhandling'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; errorhandling'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new errorhandling '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn divide(x: f64, y: f64) -&amp;gt; Result&amp;lt;f64, String&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;if y == 0.0 {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Err(String::from(&amp;quot;Cannot divide by zero&amp;quot;))&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} else {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(x / y)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main(){&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;match divide(10.0, 0.0) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(result) =&amp;gt; println!(&amp;quot;Result: {}&amp;quot;, result),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Err(e) =&amp;gt; println!(&amp;quot;Error: {}&amp;quot;, e),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This program explains about recoverable errors.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Function &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;divide&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; takes two integers as input parameters and returns the division result.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;What happens if we try to divide an integer by zero without handling it?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In Rust, it will cause the program to crash at runtime.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ividing by zero is a known and anticipated failure.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; we&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;handle it using the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Result&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; enum: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the denominator &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;y&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;, function returns an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Err&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; containing an error message.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the denominator is valid, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;function returns the successful division wrapped in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Ok&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| In the terminal, type '''cargo run '''to see the output.&lt;br /&gt;
&lt;br /&gt;
It displays the output as “Cannot divide by zero” as the denominator y is 0 in the code.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| Next let us see an example of an unexpected error.&lt;br /&gt;
&lt;br /&gt;
Clear the code and Copy paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let v = vec![1, 2, 3];&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, v[99]); // panics: index out of bounds&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;panic!(&amp;quot;Something went terribly wrong!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;What happens when the program encounters an unexpected error?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;That is something we do not anticipate and cannot recover from.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have declared a vector v with three elements.&lt;br /&gt;
&lt;br /&gt;
In this program, it tries to access the element at index 99, which does '''not exist'''.&lt;br /&gt;
&lt;br /&gt;
After a panic, the program '''stops execution''' — it does not continue to the next line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Let us run the program&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the term&amp;lt;/span&amp;gt;inal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
The program prints an error message and the current thread stops.&lt;br /&gt;
&lt;br /&gt;
The panic statement is not executed because the program already panics at the previous line.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| Next we will see about the Error Propagation operator.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Error Propagation Operator (?)&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Error Propagation Operator (?} automatically returns an error if a function call fails.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This operator can be only used in functions where it returns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''option '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;or &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''result enum.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Switch&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; back to the visual code editor.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the code file&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;use std::fs::File;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;use std::io::{self, Read};&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn read_file(filename: &amp;amp;str) -&amp;gt; Result&amp;lt;String, io::Error&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let mut file = File::open(filename)?;// This will return early if File::open fails&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let mut contents = String::new();&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;file.read_to_string(&amp;amp;mut contents)?;// This will return early if read_to_string fails&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Ok(contents)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;match read_file(&amp;quot;hello.txt&amp;quot;) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Ok(content) =&amp;gt; println!(&amp;quot;File content: {}&amp;quot;, content),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Err(e) =&amp;gt; println!(&amp;quot;Error reading file: {}&amp;quot;, e),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example we try to read the file contents and return the '''Result enum.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''read_file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; takes a filename which is of type string slice.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It returns a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Result enum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Ok'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''type'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; String and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Err'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''type'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; input output error.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;At the line &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''File::open(filename)?,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; it attempts to open the file, with the ? operator&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If successful, it continues execution with the file handle.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If it fail&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;s&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, it returns the error from the function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Next we initialised a mutable variable called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''contents'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It is of the type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''String'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; object.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''read_to_string'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; reads all the bytes of the file till &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;e&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;nd and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;appends them to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''contents.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The ? Operator returns the error &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;immediately if&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; it fails.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If everything succeeds, it &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;returns&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; the file content.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In main function, we use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''match'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; arms to handle &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;results&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; returned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;by &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''read_file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can see the error message “Error reading file”.&lt;br /&gt;
&lt;br /&gt;
This shows that the file '''hello.txt''' is not available.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, do the following&lt;br /&gt;
&lt;br /&gt;
1. Create '''hello.txt''' file and with the text “Welcome to Rust tutorials”&lt;br /&gt;
&lt;br /&gt;
2. Save the file in the errorhandling folder&lt;br /&gt;
&lt;br /&gt;
3. Run the &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Error Propagation Operator program &amp;lt;/span&amp;gt;and check&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the output&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 9 Thank You'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	</feed>