<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Error Propagation on AI VOID</title><link>https://ai-blog.noorshomelab.dev/tags/error-propagation/</link><description>Recent content in Error Propagation on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 25 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/tags/error-propagation/index.xml" rel="self" type="application/rss+xml"/><item><title>Intermediate Topics: Error Handling with `Result` and `Option`</title><link>https://ai-blog.noorshomelab.dev/rust-guide/intermediate-error-handling/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/rust-guide/intermediate-error-handling/</guid><description>&lt;h1 id="intermediate-topics-error-handling-with-result-and-option"&gt;Intermediate Topics: Error Handling with &lt;code&gt;Result&lt;/code&gt; and &lt;code&gt;Option&lt;/code&gt;&lt;/h1&gt;
&lt;p&gt;Rust&amp;rsquo;s approach to error handling is one of its most celebrated features, prioritizing explicitness and compile-time guarantees over runtime exceptions. This chapter will deepen your understanding of how Rust manages errors using the &lt;code&gt;Result&amp;lt;T, E&amp;gt;&lt;/code&gt; and &lt;code&gt;Option&amp;lt;T&amp;gt;&lt;/code&gt; enums, and how to effectively use the &lt;code&gt;?&lt;/code&gt; operator for error propagation.&lt;/p&gt;
&lt;h2 id="recoverable-vs-unrecoverable-errors"&gt;Recoverable vs. Unrecoverable Errors&lt;/h2&gt;
&lt;p&gt;Rust categorizes errors into two main types:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Recoverable Errors&lt;/strong&gt;: These are problems that are likely to happen, but that you can and should respond to. Examples include file not found, incorrect user input, or network connection issues. Rust handles these with the &lt;code&gt;Result&amp;lt;T, E&amp;gt;&lt;/code&gt; enum.&lt;/p&gt;</description></item></channel></rss>