<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.freitagsrunde.org/index.php?action=history&amp;feed=atom&amp;title=Vortrag_Exceptions</id>
	<title>Vortrag Exceptions - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.freitagsrunde.org/index.php?action=history&amp;feed=atom&amp;title=Vortrag_Exceptions"/>
	<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;action=history"/>
	<updated>2026-05-13T17:40:58Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in FreitagsrundenWiki</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=18275&amp;oldid=prev</id>
		<title>PaulG am 4. April 2012 um 19:55 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=18275&amp;oldid=prev"/>
		<updated>2012-04-04T19:55:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version vom 4. April 2012, 19:55 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l109&quot; &gt;Zeile 109:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 109:&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; } catch (IndexOutOfBoundsException expected) {}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; } catch (IndexOutOfBoundsException expected) {}&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; // und weiter gehts....&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; // und weiter gehts....&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: #222; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(TODO stattdessen tun beispiel)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Daher gibt &amp;quot;aString.indexOf(searchedString)&amp;quot; -1 zurück wenn&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Daher gibt &amp;quot;aString.indexOf(searchedString)&amp;quot; -1 zurück wenn&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff::1.12:old-6932:rev-18275 --&gt;
&lt;/table&gt;</summary>
		<author><name>PaulG</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6932&amp;oldid=prev</id>
		<title>Buchholz am 10. September 2006 um 19:33 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6932&amp;oldid=prev"/>
		<updated>2006-09-10T19:33:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version vom 10. September 2006, 19:33 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l133&quot; &gt;Zeile 133:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 133:&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;werden.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;werden.&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Alle Exceptions erben von Exception, daher kann man auch einfach alle fangen.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Alle Exceptions erben von Exception, daher kann man auch einfach alle fangen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Buchholz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6931&amp;oldid=prev</id>
		<title>Martin Häcker: /* Vortrag Felix */ wikify</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6931&amp;oldid=prev"/>
		<updated>2006-03-03T10:29:37Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Vortrag Felix: &lt;/span&gt; wikify&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version vom 3. März 2006, 10:29 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l30&quot; &gt;Zeile 30:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 30:&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Fehlerbehandlung:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Fehlerbehandlung:&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: #222; 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;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;0. &lt;/del&gt;Standardfehler: Datei nicht vorhanden&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;# &lt;/ins&gt;Standardfehler: Datei nicht vorhanden&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: #222; 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;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1. &lt;/del&gt;Print Stack Trace&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;# &lt;/ins&gt;Print Stack Trace&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: #222; 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;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2. &lt;/del&gt;RunTimeException&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;# &lt;/ins&gt;RunTimeException&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;spezifische Exceptions behandeln&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;spezifische Exceptions behandeln&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martin Häcker</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6930&amp;oldid=prev</id>
		<title>Martin Häcker: /* Exceptions */ erste überschrift weg, war überflüssig</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6930&amp;oldid=prev"/>
		<updated>2006-03-03T10:22:48Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exceptions: &lt;/span&gt; erste überschrift weg, war überflüssig&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version vom 3. März 2006, 10:22 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=Exceptions=&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kontext:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kontext:&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: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** wie kann man mit fehlern umgehen&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** wie kann man mit fehlern umgehen&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martin Häcker</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6929&amp;oldid=prev</id>
		<title>Martin Häcker: alte vortragsnotitzen eingefügt und etwas wikifiziert</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Vortrag_Exceptions&amp;diff=6929&amp;oldid=prev"/>
		<updated>2006-03-03T10:21:39Z</updated>

		<summary type="html">&lt;p&gt;alte vortragsnotitzen eingefügt und etwas wikifiziert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Exceptions=&lt;br /&gt;
* Kontext:&lt;br /&gt;
** wie kann man mit fehlern umgehen&lt;br /&gt;
*** fehler(un)freundliche systeme&lt;br /&gt;
*** bandbreite der fehler von lethal bis nervig, bis &amp;quot;man kann daraus etwas lernen&amp;quot; (feedback?)&lt;br /&gt;
*** Folgekosten abschätzen&lt;br /&gt;
*** was will man eigentlich: will man etwas für die Benutzer tun, oder diese in die Lage versetzen Selbst etwas zu tun.&lt;br /&gt;
** soweit ansprechen - selber weiterbilden?&lt;br /&gt;
*** evtl., man sieht am code wie der Programmmierer drauf ist, man soll sich selber weiterentwickeln, der Code folgt dieser entwicklung dann.&lt;br /&gt;
&lt;br /&gt;
== Vortrag Felix ==&lt;br /&gt;
Bandbreite von Fehlern&lt;br /&gt;
&lt;br /&gt;
Klar werden, was Folgen von Fehlern sind&lt;br /&gt;
Nervig -&amp;gt; beim Flugzeug fallen im Flug die Motoren aus und Anzeige falsch&lt;br /&gt;
Fehlerbehandlung kann auch wieder Fehler enthalten&lt;br /&gt;
&lt;br /&gt;
Was will man erreichen?&lt;br /&gt;
Fehler selber behandeln oder Benutzer bekommt genug Informationen, um den Fehler selbst&lt;br /&gt;
zu beheben.&lt;br /&gt;
&lt;br /&gt;
Letzte Version wesentlich mächtiger, erfordert aber mehr vom Benutzer. Erste Version&lt;br /&gt;
manchmal problematisch.&lt;br /&gt;
&lt;br /&gt;
Dumm Dialogbox mit Fehler -5123 bringt nichts, weil der Anwender weder den Fehler beheben kann&lt;br /&gt;
noch das Programm den Fehler behoben werden kann.&lt;br /&gt;
&lt;br /&gt;
Man kann idR für die Benutzer den Fehler selbst nicht beheben, sondern ihnen meist nur&lt;br /&gt;
Tools an die Hand geben, um den Fehler zu beheben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fehlerbehandlung:&lt;br /&gt;
0. Standardfehler: Datei nicht vorhanden&lt;br /&gt;
1. Print Stack Trace&lt;br /&gt;
2. RunTimeException&lt;br /&gt;
&lt;br /&gt;
spezifische Exceptions behandeln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exceptions / Fehlerbehandlung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In jedem Programm treten Fehler auf.&lt;br /&gt;
Die ideale Zeit, um Fehler zu entdecken ist, wenn&lt;br /&gt;
das Programm kompiliert wird: Nur ein Mensch (der Entwickler selbst) wird mit&lt;br /&gt;
dem Fehler konfrontiert und hat auch die besten Möglichkeiten, den Fehler zu beheben.&lt;br /&gt;
&lt;br /&gt;
Unglücklicherweise treten manche Fehler erst bei der Ausführung auf. Fehlerklasse: Code, der&lt;br /&gt;
mit externen Systemen (Netzwerk, Dateisystem) kommuniziert oder sehr dynamischer OO-Code,&lt;br /&gt;
bei dem der Compiler nicht mehr alles prüfen kann.&lt;br /&gt;
&lt;br /&gt;
Ein gutes Programm verlässt sich nicht darauf, dass schon keine Fehler auftreten werden, sondern&lt;br /&gt;
fängt Fehler ab. Nach einem Fehler kann das Programm&lt;br /&gt;
nicht weiter ausgeführt werden, als sei nichts geschehen. Andernfalls würden nachfolgende&lt;br /&gt;
Operationen vermutlich völlig unvorhersehbares Verhalten zeigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In C und anderen Sprachen wurde die Fehlerentdeckung so gehandhabt, dass nahezu alle Funktionen&lt;br /&gt;
einen Rückgabewert haben, der dann geprüft wird.&lt;br /&gt;
&lt;br /&gt;
Wenn man alle Fehler immer abprüft hat man 90% und mehr&lt;br /&gt;
fehler-prüf-code und 10% oder weniger tatsächlichen Algorythmus. Das&lt;br /&gt;
hat dann sehr wenig mit mit dem schönen Pseudocode aus Vorlesungen zu&lt;br /&gt;
tun.&lt;br /&gt;
&lt;br /&gt;
Zudem ergibt sich das Problem, dass die Fehlerwerte nur durch Konvention bestimmt, nicht aber durch&lt;br /&gt;
die Sprache vorgegeben sind. -1 ist z.B. ein häufiger Fehlerwert, manchmal ist es aber auch 0.&lt;br /&gt;
&lt;br /&gt;
Zudem treten Fehler idR relativ selten auf. Ständig auf seltene Fehler zu prüfen, macht daher&lt;br /&gt;
wenig Sinn.&lt;br /&gt;
&lt;br /&gt;
Daher ist es besser, den Fehlerbehandlungscode an einer Stelle zu haben und ihn so auch von den&lt;br /&gt;
eigentlichen Algorithmen zu trennen.&lt;br /&gt;
&lt;br /&gt;
Beispiel (aus Java?)&lt;br /&gt;
&lt;br /&gt;
* So geht das konkret in Java:&lt;br /&gt;
 try {&lt;br /&gt;
        // hier kommt der code der&lt;br /&gt;
        // einen Fehler produzieren kann&lt;br /&gt;
 } catch (Exception anException) {&lt;br /&gt;
        // statt Exception kann man auch eine&lt;br /&gt;
        // konkrete Exception wie IndexOutOfBoundsException&lt;br /&gt;
        // direkt angeben. Generell macht das aber Eclipse.&lt;br /&gt;
 &lt;br /&gt;
        // Hier kommt dann der eigentliche Fehlerbehandlungscode&lt;br /&gt;
        // der oft nur einfach angibt wo der fehler genau passiert ist,&lt;br /&gt;
        // da das beim Debuggen gewaltig helfen kann.&lt;br /&gt;
        anException.printStackTrace();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Wann Exceptions, wann Rückgabewerte?&lt;br /&gt;
Exceptions geben Fehler oder, wie der name schon sagt&lt;br /&gt;
Ausnahmesituationen. Das heist, wenn ich wissen will ob ein array ein&lt;br /&gt;
Objekt enthält, dann habe ich eine Funktion die mir das sagt und nicht&lt;br /&gt;
eine funktion die mir das objekt zurückgibt wenn es da ist und&lt;br /&gt;
ansonsten eine Exception wirft.&lt;br /&gt;
&lt;br /&gt;
Es ist also falsch Exceptions zu verwenden um den Kontrollfluss zu&lt;br /&gt;
steuern:&lt;br /&gt;
&lt;br /&gt;
Beispiel: Wenn ich sowas seh werd ich zum Hirsch!&lt;br /&gt;
 try {&lt;br /&gt;
        int sum = 0, i = 0;&lt;br /&gt;
        while (true) {&lt;br /&gt;
                sum += anArray[i++];&lt;br /&gt;
        }&lt;br /&gt;
 } catch (IndexOutOfBoundsException expected) {}&lt;br /&gt;
 // und weiter gehts....&lt;br /&gt;
(TODO stattdessen tun beispiel)&lt;br /&gt;
&lt;br /&gt;
Daher gibt &amp;quot;aString.indexOf(searchedString)&amp;quot; -1 zurück wenn&lt;br /&gt;
&amp;quot;searchedString&amp;quot; nicht in &amp;quot;aString&amp;quot; enthalten ist - schlicht weil man&lt;br /&gt;
indexOf() dazu verwenden soll um herauszufinden ob &amp;quot;aString&amp;quot;&lt;br /&gt;
&amp;quot;searchedString&amp;quot; enthät oder nicht. (Hier noch ein Beispiel?)&lt;br /&gt;
&lt;br /&gt;
(Anmerkung: Checked Exceptions vs. Runtime Exceptions würde ich wenn&lt;br /&gt;
überhaupt nur ansprechen aber nicht vertiefen.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exceptions haben noch einen Vorteil ggü Rückgabewerten: Wenn das aktuelle Modul&lt;br /&gt;
nicht weiß, wie der Fehler (Exception) zu behandeln ist (kein catch Block), kann&lt;br /&gt;
der Fehler an den Aufrufer der Methode weitergereicht werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel: throw&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Java gibt es nicht nur &amp;quot;Standard-Exceptions&amp;quot;, sondern viele differenzierte Subklassen, die alle&lt;br /&gt;
von Exception erben, z.B. FileNotFoundException oder UnknownHostException. diese können einzeln gefangen&lt;br /&gt;
werden.&lt;br /&gt;
Alle Exceptions erben von Exception, daher kann man auch einfach alle fangen.&lt;/div&gt;</summary>
		<author><name>Martin Häcker</name></author>
		
	</entry>
</feed>