<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.bzz.ch/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.bzz.ch/feed.php">
        <title>BZZ - Modulwiki - de:modul:m320_2024:learningunits:lu05</title>
        <description></description>
        <link>https://wiki.bzz.ch/</link>
        <image rdf:resource="https://wiki.bzz.ch/_media/wiki/logo.png" />
       <dc:date>2026-08-31T06:12:32+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/start?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/fehlerbehandlung?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/fangen?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/ausloesen?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/loesungen/fangen?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/loesungen/ausloesen?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/nutzen?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/fangen?rev=1788091537&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/ausloesen?rev=1788091537&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.bzz.ch/_media/wiki/logo.png">
        <title>BZZ - Modulwiki</title>
        <link>https://wiki.bzz.ch/</link>
        <url>https://wiki.bzz.ch/_media/wiki/logo.png</url>
    </image>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/start?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05 - Exceptions - ↷ Seite von modul:m320_2024:learningunits:lu05:start nach de:modul:m320_2024:learningunits:lu05:start verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/start?rev=1788091537&amp;do=diff</link>
        <description>LU05 - Exceptions

Theorie


	* LU05a - Fehlerbehandlung
	* LU05b - Exception fangen
	* LU05c - Eigene Exceptions auslösen



Aufgaben


	* LU05.A01: Was nützen Exceptions?
	* LU05.A02: Exception fangen und verarbeiten
	* LU05.A03: Exceptions auslösen und verarbeiten



Lösungen


	* LU05.L02: Exception fangen und verarbeiten
	* LU05.L03: Exceptions auslösen und verarbeiten</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/fehlerbehandlung?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05a - Fehlerbehandlung - ↷ Seite von modul:m320_2024:learningunits:lu05:fehlerbehandlung nach de:modul:m320_2024:learningunits:lu05:fehlerbehandlung verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/fehlerbehandlung?rev=1788091537&amp;do=diff</link>
        <description>LU05a - Fehlerbehandlung

In den Kapiteln dieser Learning Unit geht es um die Behandlung von Fehlern sowie dem Schreiben von automatisierten Tests. Aber zunächst befassen wir uns damit, was ein Fehler ist und welche Arten davon wichtig sind fürs Programmieren.</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/fangen?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05b - Exception fangen - ↷ Seite von modul:m320_2024:learningunits:lu05:fangen nach de:modul:m320_2024:learningunits:lu05:fangen verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/fangen?rev=1788091537&amp;do=diff</link>
        <description>LU05b - Exception fangen

In der ersten Übung wurde aufgezeigt, dass der Umgang mit Laufzeitfehlern - wie z.B. der Dision durch 0 - durch das Exception-Handling geregelt werden kann. 



Abb: Die „Fehlerbombe“

Damit ein Programm geordnet auf eine Ausnahme (Exception) reagieren kann, braucht es ein entsprechendes Konstrukt.
Dies wird bei Python durch&lt;div&gt;
&lt;iframe src=&quot;https://trinket.io/embed/python3/7df75cac3a?outputOnly=true&amp;runOption=run&quot; width=&quot;100%&quot; height=&quot;356&quot; frameborder=&quot;0&quot; marginwidth=…</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/ausloesen?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05c - Eigene Exceptions auslösen - ↷ Seite von modul:m320_2024:learningunits:lu05:ausloesen nach de:modul:m320_2024:learningunits:lu05:ausloesen verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/ausloesen?rev=1788091537&amp;do=diff</link>
        <description>LU05c - Eigene Exceptions auslösen

Wie erwähnt, sind es oft Benutzereingaben, die zu einem Fehlverhalten bei einer Software führen können - sofern man diese Eingaben eben nicht im Voraus prüft.
Dazu folgendes Beispiel.

Beispiel: Personendaten erfassen</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/loesungen/fangen?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05.L02: Exception fangen und verarbeiten - ↷ Seite von modul:m320_2024:learningunits:lu05:loesungen:fangen nach de:modul:m320_2024:learningunits:lu05:loesungen:fangen verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/loesungen/fangen?rev=1788091537&amp;do=diff</link>
        <description>LU05.L02: Exception fangen und verarbeiten

----------

m320-lu05

&lt;https://creativecommons.org/licenses/by-nc-sa/4.0/&gt; René Probst, bearbeitet durch Marcel Suter</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/loesungen/ausloesen?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05.L03: Exceptions auslösen und verarbeiten - ↷ Seite von modul:m320_2024:learningunits:lu05:loesungen:ausloesen nach de:modul:m320_2024:learningunits:lu05:loesungen:ausloesen verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/loesungen/ausloesen?rev=1788091537&amp;do=diff</link>
        <description>LU05.L03: Exceptions auslösen und verarbeiten

----------

m320-lu05

&lt;https://creativecommons.org/licenses/by-nc-sa/4.0/&gt; René Probst, bearbeitet durch Marcel Suter</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/nutzen?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05.A01: Was nützen Exceptions? - ↷ Seite von modul:m320_2024:learningunits:lu05:aufgaben:nutzen nach de:modul:m320_2024:learningunits:lu05:aufgaben:nutzen verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/nutzen?rev=1788091537&amp;do=diff</link>
        <description>LU05.A01: Was nützen Exceptions?

Sie erkennen Sinn und Zweck von Exception.

Auftrag

	*  Klonen Sie das Repository &lt;https://github.com/templates-python/m320-lu05-a01-zerodiv.git&gt; in Ihre Entwicklungsumgebung.
	*  Führen Sie die main-Methode in der Datei exception_example.py aus.
	*  Studieren Sie den Effekt des Programms anhand des Outputs am Bildschirm.</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/fangen?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05.A02: Exception fangen und verarbeiten - ↷ Seite von modul:m320_2024:learningunits:lu05:aufgaben:fangen nach de:modul:m320_2024:learningunits:lu05:aufgaben:fangen verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/fangen?rev=1788091537&amp;do=diff</link>
        <description>LU05.A02: Exception fangen und verarbeiten

Sie können mit dem try-except Konstrukt „kritischen“ Code überwachen und im Fehlerfall reagieren.

Auftrag

	*  Akzeptieren Sie das Assignment im GitHub Classroom
	*  Führen Sie die main-Methode aus und prüfen Sie am Bildschirm, welche Exception zum Programmabbrch geführt hat.</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/ausloesen?rev=1788091537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-08-30T12:05:37+00:00</dc:date>
        <dc:creator>msuter (msuter@undisclosed.example.com)</dc:creator>
        <title>LU05.A03: Exceptions auslösen und verarbeiten - ↷ Seite von modul:m320_2024:learningunits:lu05:aufgaben:ausloesen nach de:modul:m320_2024:learningunits:lu05:aufgaben:ausloesen verschoben</title>
        <link>https://wiki.bzz.ch/de/modul/m320_2024/learningunits/lu05/aufgaben/ausloesen?rev=1788091537&amp;do=diff</link>
        <description>LU05.A03: Exceptions auslösen und verarbeiten

	*  Sie  können eigene Exceptions erzeugen und werfen.
	*  Sie können mit try...except den Fehler auffangen und behandeln.

Ausgangslage

In der Applikation können eine Anzahl Noten erfasst und ausgelesen werden.
Bisher wurde aber noch keine Fehlerbehandlung realisiert.
Zum Beispiel stürzt das Programm ab, wenn man eine undefinierte Noten lesen will (falscher Index).
Ungültige Noten werden entgegengenommen und wenn zu viele Noten erfasst werden, pas…</description>
    </item>
</rdf:RDF>
