<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Error Handling on AI VOID</title><link>https://ai-blog.noorshomelab.dev/categories/error-handling/</link><description>Recent content in Error Handling on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 30 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/categories/error-handling/index.xml" rel="self" type="application/rss+xml"/><item><title>Robust Error Handling and Exceptions</title><link>https://ai-blog.noorshomelab.dev/any-llm-guide-2025/error-handling/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/any-llm-guide-2025/error-handling/</guid><description>&lt;h2 id="introduction-to-robust-error-handling"&gt;Introduction to Robust Error Handling&lt;/h2&gt;
&lt;p&gt;Welcome back, future AI architect! In the previous chapters, we&amp;rsquo;ve explored the fascinating world of &lt;code&gt;any-llm&lt;/code&gt; – Mozilla&amp;rsquo;s unified interface for Large Language Models. You&amp;rsquo;ve learned how to set up your environment, make basic completion calls, and configure different LLM providers. But what happens when things don&amp;rsquo;t go as planned? What if an API key is wrong, the network flickers, or a model is overloaded?&lt;/p&gt;</description></item><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>