tag:forum.selfhtml.org,2005:/self Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 – SELFHTML-Forum 2018-11-20T16:16:50Z https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736593#m1736593 TS ts-self@online.de https://bitworks.de 2018-11-16T10:44:42Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hello,</p> <p>gibt es hier überhaupt noch jemanden, der die Funktionsweise einer Exception in den jeweiligen IDEs noch vollständig bis runter auf die Prozessorebene erklären kann mit allen Seiteneffekten und Nebenbedingungen?</p> <p>Ich würde für ein akzepteables Wiki-Feature 100€ Prämie ausloben. Da ich es ja bekanntermaßen nicht so dicke habe, wäre ich über weitere Sponsoren (und Lektoren) begeistert. Mein Angebot gilt vorerst bis zum 31.12.2019.</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736594#m1736594 ursus contionabundo 2018-11-16T12:12:14Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>gibt es hier überhaupt noch jemanden, der die Funktionsweise einer Exception in den jeweiligen IDEs noch vollständig bis runter auf die Prozessorebene erklären kann mit allen Seiteneffekten und Nebenbedingungen?</p> </blockquote> <p>Alle IDEs, alle Programmiersprachen und dann runter über den Interpreter/Compiler bis hin zur Maschinensprache?</p> <blockquote> <p>Ich würde für ein akzepteables Wiki-Feature <strong>100€</strong> Prämie ausloben.</p> </blockquote> <p><strong>Getaggt unter "Jobangebote".</strong></p> <p>Hehe. Wir haben ein Mindestlohngesetz. Selbst eine Linkliste wäre teurer.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736595#m1736595 Rolf B 2018-11-16T13:18:25Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hallo TS,</p> <p>ich würde es vermeiden wollen, in einer IDE eine Exception zu bekommen. Das ist nicht gut für die Nerven...</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736596#m1736596 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-16T13:23:24Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Aloha ;)</p> <blockquote> <p>gibt es hier überhaupt noch jemanden, der die Funktionsweise einer Exception in den jeweiligen IDEs noch vollständig bis runter auf die Prozessorebene erklären kann mit allen Seiteneffekten und Nebenbedingungen?</p> </blockquote> <p>Ich sehe den Usecase dafür nicht so. Rein akademisch ist das zwar sicher auch ganz nett, aber magst du mir erläutern, was man davon praktisch gesehen hat, falls es da was gibt?</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736599#m1736599 pl http://rolfrost.de/brd.html 2018-11-16T18:25:17Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Gibts überhaupt noch welche die ohne IDE entwickeln können?</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736606#m1736606 Rolf B 2018-11-17T09:51:43Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hallo TS,</p> <p>erklären kann ich dazu ein paar Sachen, auch ohne Recherche. Für Wiki-Level würde ich noch ein paar Sachen nachlesen.</p> <p>Die Abläufe in einer interpretierten Umgebung sind aber jedenfalls anders als in einer compilierten.</p> <p>Bei (in Maschinensprache) compilieren Programmen können dann auch noch Betriebssystem-Eigenheiten dazu.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736597#m1736597 TS ts-self@online.de https://bitworks.de 2018-11-16T15:20:20Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hello,</p> <blockquote> <p>ich würde es vermeiden wollen, in einer IDE eine Exception zu bekommen. Das ist nicht gut für die Nerven...</p> </blockquote> <p><em>chchchch</em></p> <p>Hast Du da nicht ein Ironie/Humor-Kennzeichen vergessen?</p> <p>@ursus contionabundo:<br> Jedenfalls reden wir heute immer über Sachen, über die kaum noch jemand weiß, wie sie eigentlich funktionieren. Und ich habe nicht von gerechtem Lohn gesprochen für eine ausführliche Darlegung, sondern dass <strong>ICH</strong> dafür 100€ locker mache, in der Hoffnung, dass sich noch mehr Sponsoren finden würden, um eine gerechte Bezahlung zu ermöglichen ;-P</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736602#m1736602 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-16T22:04:56Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Aloha ;)</p> <blockquote> <p>Jedenfalls reden wir heute immer über Sachen, über die kaum noch jemand weiß, wie sie eigentlich funktionieren.</p> </blockquote> <p>Ich kann Küchenmagnete auch dann vorzüglich dazu benutzen, meine Einkaufsliste damit zu befestigen, wenn ich die quantenmechanische Ursache für Magnetismus nicht verstanden habe.</p> <p>Will sagen: Ein Stück weit ist es völlig normal, sich auf einem Abstraktionslevel zu bewegen, ohne die darunterliegenden zu verstehen oder verstehen zu müssen.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736600#m1736600 JürgenB https://www.j-berkemeier.de 2018-11-16T18:59:15Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Ja, gibt es.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736601#m1736601 dedlfix 2018-11-16T19:56:12Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Tach!</p> <blockquote> <p>Gibts überhaupt noch welche die ohne IDE entwickeln können?</p> </blockquote> <p>Ja, aber warum sollte man sich das antun?</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736605#m1736605 Rolf B 2018-11-17T09:46:12Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hallo pl,</p> <p>bis 1995 war meine Entwicklungsumgebung ein Editor ohne jegliches Intellisense und ein Batchfile für den Compiler+Link. Sprache: dBase (Clipper).</p> <p>Immerhin gab es dort irgendwann Sourcelevel Debugger, das war eine Offenbarung.</p> <p>Dann musste ich mich ein paar Jahre mit Smalltalk herumärgern, bis wir fusioniert wurden und endlich Visual Studio.net ins Spiel kam.</p> <p>COBOL Programme auf dem IBM Host werden bis heute per Stupid-Edit und Compiler-Batch erstellt. Immerhin gibt's mittlerweile dort auch Sourcelevel Debugger.</p> <p>PHP habe ich anfangs auch nur mit Notepad und Debug-Echos gebaut.</p> <p>Heute ohne IDE ein C# Programm schreiben... Nein, könnte ich nicht. Ich könnte sicherlich ein Compile- oder Unittest-Script für ein C# Projekt bauen. Ich könnte ohne Intellisense editieren. Aber ich will nicht </p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736615#m1736615 pl http://rolfrost.de/brd.html 2018-11-17T11:46:30Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Ja, gibt es.</p> </blockquote> <p>Ich hatte sogar schon Kunden in meiner Hotline die es geschafft haben eine <code>config.sys</code> mit <code>copy con</code> zu schreiben.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736607#m1736607 ursus contionabundo 2018-11-17T10:03:38Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <ul> <li>Weil der Beamer nur 1024x768px liefert.</li> <li>Weil 3(2) Kurstage für /P[a-z]{2-5}/-Grundlagen(Fortgeschritten) + IDE zu kurz sind.</li> <li>Weil manche IDEs auch nur Editoren mit Syntaxhervorhebung und einem Terminal sind.</li> <li>Weil manche IDEs natürlich an der fehlenden Umgebung für die Skripte scheitern (z.B. fehlt in PHP $_SERVER) und das Debugging dann doch anders gemacht werden muss.</li> <li>Weil die Position von <code>ALT</code> und <code>TAB</code> den Fingern bekannt sind.</li> </ul> <p>Andererseits fummle ich hier gerade (unter Linux) mit mit M$ Visual Code herum und freue mich darüber, dass der beim Tippen hilft:</p> <p><a href="/images/ed4cacc3-f07d-4c63-b5c3-2ce66dba23a0.png" rel="noopener noreferrer"><img src="/images/ed4cacc3-f07d-4c63-b5c3-2ce66dba23a0.png?size=medium" alt="" loading="lazy"></a></p> <p>wenn auch etwas merkwürdig... aber das spart manchmal den Blick in die Referenz.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736604#m1736604 pl http://rolfrost.de/brd.html 2018-11-17T07:30:55Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Will sagen: Ein Stück weit ist es völlig normal, sich auf einem Abstraktionslevel zu bewegen, ohne die darunterliegenden zu verstehen oder verstehen zu müssen.</p> </blockquote> <p>So isses. Was OOP betrifft: Instanzen machen nur dann einen Sinn, wenn deren Methoden genutzt werden und es einen Grund gibt, diese Methoden in einem eigenen Namensraum bzw. einer eigenen Klasse zu definieren.</p> <p>Und wenn die Klasse nur eine Instanz zulässt ist schon die Instanziierung fraglich.</p> <p>MfG</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736627#m1736627 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-17T15:43:47Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Aloha ;)</p> <blockquote> <p>So isses. Was OOP betrifft: Instanzen machen nur dann einen Sinn, wenn deren Methoden genutzt werden und es einen Grund gibt, diese Methoden in einem eigenen Namensraum bzw. einer eigenen Klasse zu definieren.</p> </blockquote> <p>Da würde ich dir völlig widersprechen. Ein großer Vorteil davon, wenn man Objekte als Instanz einer Klasse hat, ergibt sich gerade in typisierten Sprachen, in denen man die Struktur eines Objekts und seine Signatur durch einen einfachen Typcheck klären kann, ein großer Vorteil.</p> <p>Genauso sinnvoll ist OOP immer dann, wenn man viele ähnliche Objekte hat; dann ist es durchaus auch ein Vorteil, schon für die eigene Strukturierung und Lesbarkeit, das als Instanziierung einer Klasse zu realisieren.</p> <blockquote> <p>Und wenn die Klasse nur eine Instanz zulässt ist schon die Instanziierung fraglich.</p> </blockquote> <p>Da hast du nicht Unrecht. Klassen, die nur ein Singleton definieren, sind aus meiner Sicht eher ein Workaround dafür, dass es in den meisten Objektorientierten Sprachen keine einzelnen Objekte ohne Klassenzugehörigkeit gibt. Hier muss man mit Sicherheit keinen Sinn suchen, der über das Argument „aber die Sprache ist eben objektorientiert“ hinausgeht.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736609#m1736609 pl http://rolfrost.de/brd.html 2018-11-17T10:22:55Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Natürlich ist das eine Frage der Gewohnheit. Auch wenn ich mit dem <code>vi</code> begonnen habe meine ersten c-Programme zu schreiben und auch später ungezählte Perlscripts mit <code>vi</code> und <code>emacs</code> entwickelte, konnte ich mich nie mit diesen Editoren anfreunden.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736621#m1736621 TS ts-self@online.de https://bitworks.de 2018-11-17T12:25:58Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Hello,</p> <blockquote> <p>erklären kann ich dazu ein paar Sachen, auch ohne Recherche. Für Wiki-Level würde ich noch ein paar Sachen nachlesen.</p> <p>Die Abläufe in einer interpretierten Umgebung sind aber jedenfalls anders als in einer compilierten.</p> <p>Bei (in Maschinensprache) compilieren Programmen können dann auch noch Betriebssystem-Eigenheiten dazu.</p> </blockquote> <p>Genau ;-)</p> <p>Die Zusammenhänge sind mir übrigens so einigermaßen bekannt und ich vermute, dass hier noch keiner die totale Tragweite meines Aufrufes realisiert hat. Ich bin aber selber nicht in der Lage, meine privaten Erkenntnisse in der passenden Fachsprache nebst Erläuterungen wiederzugeben.</p> <p>#@ALL:<br> Also seht es doch mal positiv und macht einfach mit, Wege zum Verständnis zu ebnen, ohne ständig Gründe dagegen zu suchen :-)</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736608#m1736608 dedlfix 2018-11-17T10:17:59Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Tach!</p> <blockquote> <ul> <li>Weil der Beamer nur 1024x768px liefert.</li> <li>Weil 3(2) Kurstage für /P[a-z]{2-5}/-Grundlagen(Fortgeschritten) + IDE zu kurz sind.</li> </ul> </blockquote> <p>Es geht ums Entwickeln, nicht um Präsentationen oder Schulungen.</p> <blockquote> <ul> <li>Weil manche IDEs auch nur Editoren mit Syntaxhervorhebung und einem Terminal sind.</li> </ul> </blockquote> <p>Das soll ein Grund sein, wenigstens auf diesen Komfort zu verzichten?</p> <blockquote> <ul> <li>Weil manche IDEs natürlich an der fehlenden Umgebung für die Skripte scheitern (z.B. fehlt in PHP $_SERVER) und das Debugging dann doch anders gemacht werden muss.</li> </ul> </blockquote> <p>Eine IDE ohne Debug-Unterstützung würde mich nicht daran hindern, sie zu verwenden. Wenn Debugging nicht geht, hat man immer noch die anderen Features. Deshalb einen Editor vorzuziehen sehe ich keinen Sinn darin.</p> <blockquote> <p>Andererseits fummle ich hier gerade mit mit M$ Visual Code herum und freue mich darüber, dass der beim Tippen hilft: [...] wenn auch etwas merkwürdig... aber das spart manchmal den Blick in die Referenz.</p> </blockquote> <p>Eben. Natürlich kann man mit einem einfachen Editor entwickeln, aber die Hilfen unterm Mausklick oder einer Tastenkombination zu haben, die man sonst umständlicher durch Aufsuchen des Browsers und Aufsuchen der entsprechenden Handbuchseite holen müsste, hilft bei der Produktivität und dem Konzentrieren auf die eigentliche Aufgabe. Mit Autovervollständigung und direkten Hinweisen auf problematische Konstrukte kommt man auch schneller voran. Nur mit einem Editor zu entwickeln, würde ich jedenfalls nicht als heroische Tat ansehen.</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736612#m1736612 beatovich https://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html 2018-11-17T11:12:46Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>hallo</p> <blockquote> <ul> <li>Weil der Beamer nur 1024x768px liefert.</li> <li>Weil 3(2) Kurstage für /P[a-z]{2-5}/-Grundlagen(Fortgeschritten) + IDE zu kurz sind.</li> <li>Weil manche IDEs auch nur Editoren mit Syntaxhervorhebung und einem Terminal sind.</li> <li>Weil manche IDEs natürlich an der fehlenden Umgebung für die Skripte scheitern (z.B. fehlt in PHP $_SERVER) und das Debugging dann doch anders gemacht werden muss.</li> <li>Weil die Position von <code>ALT</code> und <code>TAB</code> den Fingern bekannt sind.</li> </ul> <p>Andererseits fummle ich hier gerade (unter Linux) mit mit M$ Visual Code herum und freue mich darüber, dass der beim Tippen hilft:</p> <p><a href="/images/ed4cacc3-f07d-4c63-b5c3-2ce66dba23a0.png" rel="noopener noreferrer"><img src="/images/ed4cacc3-f07d-4c63-b5c3-2ce66dba23a0.png?size=medium" alt="" loading="lazy"></a></p> <p>wenn auch etwas merkwürdig... aber das spart manchmal den Blick in die Referenz.</p> </blockquote> <p>Ich habe kürzlich meine erste wirkliche Kundensite vollständig in meinem Javascript-Editor Modul entwickelt, der nichts anderes als ein Spezial-Purpose-Editor ist, der auch dem Kunden ausgeliefert werden soll.</p> <p>Was nützt mir die tollste Arbeitsumgebung, wenn</p> <ul> <li>niemand damit umgehen kann</li> <li>diese nicht verfügbar ist</li> <li>diese zwar Syntax-Highlighting kann, aber doch keine Ahnung von HTML hat.</li> </ul> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736610#m1736610 pl http://rolfrost.de/brd.html 2018-11-17T10:36:31Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Eben. Natürlich kann man mit einem einfachen Editor entwickeln, aber die Hilfen unterm Mausklick oder einer Tastenkombination zu haben, die man sonst umständlicher durch Aufsuchen des Browsers und Aufsuchen der entsprechenden Handbuchseite holen müsste</p> </blockquote> <p>Es gibt auch Editoren die sowas untersützen bzw. in denen man das Ausführen externer Kommandos auf Shortcuts legen kann. Auf diese Art und Weise nutze ich sowohl die <code>perldoc</code> als auch eigens entwickelte Utilities für RPC und FTP. Und natürlich liegen auch Perl~ wie PHPinterpreter auf Shortcuts, was die gerade geladene Datei dem Interpreter übergibt.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736611#m1736611 ursus contionabundo 2018-11-17T11:10:23Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Es geht ums Entwickeln, nicht um Präsentationen oder Schulungen.</p> </blockquote> <p>Du hast gefragt:</p> <blockquote> <blockquote> <p>Ja, aber warum sollte man sich das antun?</p> </blockquote> </blockquote> <p>"Entwickeln" schließt ja nicht aus, dass man in einem Kurs "entwickelt", z.b. bei der Lösung kundenspezifischer Probleme.</p> <blockquote> <blockquote> <ul> <li>Weil manche IDEs auch nur Editoren mit Syntaxhervorhebung und einem Terminal sind.</li> </ul> </blockquote> <p>Das soll ein Grund sein, wenigstens auf diesen Komfort zu verzichten?</p> </blockquote> <p>Naja. Was, wenn man schon einen Editor mit Syntaxhervorhebung und ein komfortables Terminal (+ Browser mit Analysewerkzeugen, + <code>tail -f</code> fürs Error-Log) hat, deren Bedienung gewohnt ist und die "IDE" keinen darüber hinaus gehenden Mehrwert bietet?</p> <blockquote> <p>Deshalb einen Editor vorzuziehen sehe ich keinen Sinn darin.</p> </blockquote> <p>Schon klar. Aber die Übergänge zwischen "Editor" und "IDE" verwischen ziemlich stark. Normalerweise verwende ich übrigens <a href="https://www.geany.org/" rel="nofollow noopener noreferrer">Geany</a>. Ich betrachte Geany aber eher als "Editor mit vielen Funktionen" und M$ VSC als "IDE"...</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736614#m1736614 dedlfix 2018-11-17T11:35:38Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Tach!</p> <blockquote> <blockquote> <p>Es geht ums Entwickeln, nicht um Präsentationen oder Schulungen.</p> </blockquote> <p>Du hast gefragt:</p> <blockquote> <blockquote> <p>Ja, aber warum sollte man sich das antun?</p> </blockquote> </blockquote> </blockquote> <p>Auf die Frage "wer kann", nicht "wer muss". Dass es Gegebenheiten gibt, wo man keine IDE verwenden kann, spricht ja nicht grundsätzlich gegen deren Verwendung, wenn man dazu in der Lage ist. Und auch wer mag, soll doch bei den Werkzeugen bleiben, die demjeinigen genehm sind. Die ursprüngliche Frage war aber mit einem Unterton gestellt, dass wer IDEs einsetzt nur zu doof für Editoren mit wenig(er) Komfort ist.</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736617#m1736617 ursus contionabundo 2018-11-17T11:50:27Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Die ursprüngliche Frage war aber mit einem Unterton gestellt, dass wer IDEs einsetzt nur zu doof für Editoren mit wenig(er) Komfort ist.</p> </blockquote> <p>Acho so. Das ist aber eine Idee, die mir so derart liegt, dass ich an diese Interpretation von PLs Frage nicht mal dachte. Mit IDE muss man nämlich mehr wissen und hat es dafür aber (wenn die übrigen Voraussetzungen stimmen) bequemer. Ein Glaube daran, das eine IDE Kenntnisse einer Programmiersprache oder gar Intelligenz ersetze, wäre ein offensichtlicher Irrglaube. Wer es es mit IDE kann kann es auch ohne. Eine Sprachreferenz sollte man in jedem Fall befragen können.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736618#m1736618 pl http://rolfrost.de/brd.html 2018-11-17T12:06:12Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Ohne eine eigene Idee oder dem Verständnis der Ideen anderer nützen weder IDE noch Editioren.</p> <p>Mein Kunde hätte nie eine <code>config.sys</code> geschrieben wenn er die Idee die dahintersteckt nicht verstanden hätte.</p> <p>.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736620#m1736620 TS ts-self@online.de https://bitworks.de 2018-11-17T12:16:27Z 2018-11-19T10:46:39Z Erklärbärwettbewerb zum Thema "Exceptions" läuft! Deadline ist der 31.12.2019. <p>Hello,</p> <blockquote> <p>Acho so. Das ist aber eine Idee, die mir so derart liegt, dass ich an diese Interpretation von PLs Frage nicht mal dachte. Mit IDE muss man nämlich mehr wissen und hat es dafür aber (wenn die übrigen Voraussetzungen stimmen) bequemer. Ein Glaube daran, das eine IDE Kenntnisse einer Programmiersprache oder gar Intelligenz ersetze, wäre ein offensichtlicher Irrglaube. Wer es es mit IDE kann kann es auch ohne. Eine Sprachreferenz sollte man in jedem Fall befragen können.</p> </blockquote> <p>Also OOP ohne IDE ist schon ganz schön heftig. Von der Assemblerschicht aufwärts alles selber zu gestalten ist wirklich ein Knüppeljob. Und selbst dann muss man noch eine Menge über Steuerregister, IVT, LDT, GDT , ..., Messaging, Signale, usw. der jeweils angepeilten Plattform wissen, um die Objectfiles ("Module") entsprechend vorbereiten zu können.</p> <p>| Und genau diese Überlegung brachte mich dazu, mal für das Thema "Exceptions" einen Erklärbärwettbewerb auszurufen! |</p> <p>Mein Angebot steht deshalb bis Ende des nächsten Jahres (31.12.2019!), und ich hoffe, dass sich da noch einige mit einem €-10er oder mehr als Sponsor anschließen. Wir können ja auch (Erster Preis 1x), (Zweiter Preis 2x), (Dritter Preis 3x) daraus machen. Wenn Ihr damit einverstanden seid, würde ich die Fachpresse über den Wettbewerb informieren - ganz nach dem Motto:</p> <h4>Die Energie des Verstehens</h4><p>Und ich wünsche mir zu Weihnachten, dass sich alle Stammposter ihre Antworten vorher genauer überlegen, als leider z. Zt. üblich!</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736619#m1736619 ursus contionabundo 2018-11-17T12:15:43Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Mein Kunde hätte nie eine <code>config.sys</code> geschrieben wenn er die Idee die dahintersteckt nicht verstanden hätte.</p> </blockquote> <p>Wozu das denn? Man kann DOOM I und II auch unter der grafischen Oberfläche von Windows 97 spielen. Sogar mit TCP/IP gegeneinander!</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736622#m1736622 pl http://rolfrost.de/brd.html 2018-11-17T14:05:45Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <blockquote> <p>Mein Kunde hätte nie eine <code>config.sys</code> geschrieben wenn er die Idee die dahintersteckt nicht verstanden hätte.</p> </blockquote> <p>Wozu das denn? Man kann DOOM I und II auch unter der grafischen Oberfläche von Windows 97 spielen. Sogar mit TCP/IP gegeneinander!</p> </blockquote> <p>Die Idee war: Windows 95 zu installieren. Ohne <code>config.sys</code> kein CD Laufwerk, ohne CD Laufwerk kein Windows 95. Und die Idee des Kunden war, seine CD's mit dem Computer abzuspielen.</p> <p>So einfach ist das manchmal. Sogar ohne TCP/IP.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736623#m1736623 pl http://rolfrost.de/brd.html 2018-11-17T14:08:11Z 2018-11-19T10:46:39Z Erklärbärwettbewerb zum Thema "Exceptions" läuft! Deadline ist der 31.12.2019. <p>Hello,</p> <blockquote> <p>Also OOP ohne IDE ist schon ganz schön heftig.</p> </blockquote> <p>Manchmal möchte ich nicht wissen was manche unter OOP verstehen.</p> <p>MfG</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736635#m1736635 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-17T17:01:06Z 2018-11-19T10:46:39Z Erklärbärwettbewerb zum Thema "Exceptions" läuft! Deadline ist der 31.12.2019. <p>Aloha ;)</p> <blockquote> <p>Also OOP ohne IDE ist schon ganz schön heftig. Von der Assemblerschicht aufwärts alles selber zu gestalten ist wirklich ein Knüppeljob. Und selbst dann muss man noch eine Menge über Steuerregister, IVT, LDT, GDT , ..., Messaging, Signale, usw. der jeweils angepeilten Plattform wissen, um die Objectfiles ("Module") entsprechend vorbereiten zu können.</p> </blockquote> <p>Ein Texteditor ist keine IDE und trotzdem benötigt man manchmal nicht mehr als selbigen, um objektorientiert zu programmieren. Ich verstehe nicht, inwiefern die Nichtnutzung einer IDE dazu führt, dass man „von der Assemblerschicht aufwärts alles selber“ gestalten muss?</p> <p>Vielleicht unterscheidet sich ja unsere Definition von IDE.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736660#m1736660 1unitedpower 2018-11-18T11:44:33Z 2018-11-19T10:46:39Z Erklärbärwettbewerb zum Thema "Exceptions" läuft! Deadline ist der 31.12.2019. <blockquote> <p>Mein Angebot steht deshalb bis Ende des nächsten Jahres (31.12.2019!), und ich hoffe, dass sich da noch einige mit einem €-10er oder mehr als Sponsor anschließen. Wir können ja auch (Erster Preis 1x), (Zweiter Preis 2x), (Dritter Preis 3x) daraus machen. Wenn Ihr damit einverstanden seid, würde ich die Fachpresse über den Wettbewerb informieren</p> </blockquote> <p>Das ist ja deine Privatsache, kannst du also machen wie du möchtest. Oder möchtest du das im Namen des Vereins machen? Dann möchte ich dich bitten, das im Vereinsforum erst abzustimmen.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736624#m1736624 pl http://rolfrost.de/brd.html 2018-11-17T14:10:13Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Die erste Frage betreff Verständnis ist, was IDEs mit Exceptions zu tun haben sollen.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736628#m1736628 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-17T15:47:04Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Aloha ;)</p> <blockquote> <p>[...] ich vermute, dass hier noch keiner die totale Tragweite meines Aufrufes realisiert hat.</p> </blockquote> <p>Da hast du völlig Recht, hab ich nicht. Deshalb ja meine Nachfragen, auf die du bislang nicht eingegangen bist.</p> <p>Positiv zu denken hat mich im übrigen bisher da auch nicht zur Erkenntnis geleitet.</p> <p>Du musst mir das aber auch nicht erläutern, wenn du nicht möchtest.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736631#m1736631 TS ts-self@online.de https://bitworks.de 2018-11-17T16:45:34Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Hello,</p> <blockquote> <p>Die erste Frage betreff Verständnis ist, was IDEs mit Exceptions zu tun haben sollen.</p> </blockquote> <p>Die IDE sollte alle Module des Systems kennen und passend kombinieren:</p> <ul> <li>Projektverwaltung</li> <li>...</li> <li>Darstellung in der gewünschten Progammiersprache</li> <li>Quelltext</li> <li>Librairies</li> <li>...</li> <li>Objektfiles</li> <li>Assembler-Ebenen für die unterschiedlichen Zielplattformen</li> <li>Linkerstrategien</li> <li>...</li> <li>die tiefsten Tiefen der Register und UEFI-Module</li> <li>...</li> </ul> <p>usw.</p> <p>Das möchte man nun wirklich nicht mehr alles eigenhändig verwalten, oder?</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736632#m1736632 pl http://rolfrost.de/brd.html 2018-11-17T16:49:50Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>In Sachen Exceptions sehe ich das auch so: Zum Klassifizieren braucht man keine Instanzen sondern nur Klassen. Eine Exception selbst braucht auch keine Methoden. Also ist das Erstellen einer Klasseninstanz nicht notwendig. Für mich ein klarer Fall für einen <a href="http://rolfrost.de/exclass.html" rel="nofollow noopener noreferrer">Trait</a>.</p> <p>MfG</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736630#m1736630 TS ts-self@online.de https://bitworks.de 2018-11-17T16:37:35Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Hello,</p> <blockquote> <blockquote> <p>[...] ich vermute, dass hier noch keiner die totale Tragweite meines Aufrufes realisiert hat.</p> </blockquote> <p>Da hast du völlig Recht, hab ich nicht. Deshalb ja meine Nachfragen, auf die du bislang nicht eingegangen bist.</p> <p>Positiv zu denken hat mich im übrigen bisher da auch nicht zur Erkenntnis geleitet.</p> <p>Du musst mir das aber auch nicht erläutern, wenn du nicht möchtest.</p> </blockquote> <p>Ich möchte gerne.</p> <p>Wie lauten die Fragen? Habe ich die tatsächlich übersehen? Das will ich gerne wieder gutmachen...</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736634#m1736634 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-17T16:58:14Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Aloha ;)</p> <blockquote> <blockquote> <p>Positiv zu denken hat mich im übrigen bisher da auch nicht zur Erkenntnis geleitet.</p> <p>Du musst mir das aber auch nicht erläutern, wenn du nicht möchtest.</p> </blockquote> <p>Ich möchte gerne.</p> </blockquote> <p>Sehr gut </p> <blockquote> <p>Wie lauten die Fragen? Habe ich die tatsächlich übersehen? Das will ich gerne wieder gutmachen...</p> </blockquote> <p>Ich <a href="https://forum.selfhtml.org/self/2018/nov/16/mehrere-instanzen-einer-exception-class/1736596#m1736596" rel="noopener noreferrer">hatte mich gefragt</a>, wo der praktische Mehrwert liegt oder ob es sich um rein akademisches Interesse handelt.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736652#m1736652 pl http://rolfrost.de/brd.html 2018-11-18T07:55:38Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <blockquote> <p>Das möchte man nun wirklich nicht mehr alles eigenhändig verwalten, oder?</p> </blockquote> <p>Und was hat die Verwaltung mit Exceptions zu tun?</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736633#m1736633 TS ts-self@online.de https://bitworks.de 2018-11-17T16:56:13Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hello,</p> <blockquote> <p>In Sachen Exceptions sehe ich das auch so: Zum Klassifizieren braucht man keine Instanzen sondern nur Klassen. Eine Exception selbst braucht auch keine Methoden. Also ist das Erstellen einer Klasseninstanz nicht notwendig. Für mich ein klarer Fall für einen <a href="http://rolfrost.de/exclass.html" rel="nofollow noopener noreferrer">Trait</a>.</p> </blockquote> <p>Eine "Exception" ~= "Exitroutine" benötigt auch keine Klassen. Sie muss aber vom OS unterstützt werden, wenn das Programm anschließend noch ordentlich beendet werden soll für den Fall, dass sie nicht gezielt ins Programm zurückführen kann.</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736638#m1736638 pl http://rolfrost.de/brd.html 2018-11-17T17:51:31Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hello,</p> <blockquote> <p>Eine "Exception" ~= "Exitroutine" benötigt auch keine Klassen.</p> </blockquote> <p>Völlig falsch! Eine Exception ist keine Exitroutine!</p> <p>Im Übrigen meldet sich jedes Programm beim Beenden an das OS zurück mit einem sogenannten Exitcode. Wobei ein <code>Prozess beendet mit Exit-Code 255</code> heißt daß es per Exception beendet wurde. exit 0 hingegen ist ein fehlerfreier Return.</p> <p>MfG</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736636#m1736636 TS ts-self@online.de https://bitworks.de 2018-11-17T17:03:16Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Hello,</p> <blockquote> <blockquote> <p>Wie lauten die Fragen? Habe ich die tatsächlich übersehen? Das will ich gerne wieder gutmachen...</p> </blockquote> <p>Ich <a href="https://forum.selfhtml.org/self/2018/nov/16/mehrere-instanzen-einer-exception-class/1736596#m1736596" rel="noopener noreferrer">hatte mich gefragt</a>, wo der praktische Mehrwert liegt oder ob es sich um rein akademisches Interesse handelt.</p> </blockquote> <p>Ich will es gar nicht so hoch aufhängen "akademisches Interesse", sondern möchte den Ball flach halten und es "technisches Interesse" nennen. Wie wird es in der Praxis abgehandelt bis hin zur untersten Schicht...</p> <p>Als "akademisch" würde ich es nur dann bezeichnen, wenn wir uns an keiner konkreten Sprache orientieren dürfen und/oder alle Schichten streng kategorisiert werden müssten, usw.</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736639#m1736639 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-17T18:57:14Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Aloha ;)</p> <blockquote> <p>Ich will es gar nicht so hoch aufhängen "akademisches Interesse", sondern möchte den Ball flach halten und es "technisches Interesse" nennen. Wie wird es in der Praxis abgehandelt bis hin zur untersten Schicht...</p> <p>Als "akademisch" würde ich es nur dann bezeichnen, wenn wir uns an keiner konkreten Sprache orientieren dürfen und/oder alle Schichten streng kategorisiert werden müssten, usw.</p> </blockquote> <p>Ich meinte das sprichwörtliche akademische Interesse und wollte damit keinen fachlichen Gütegrad festlegen </p> <p>Also im Sinne von: Ist das Thema von Interesse, weil es an sich eben interessant ist, oder hat man direkte/praktische Vorteile davon, darüber Bescheid zu wissen?</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736663#m1736663 ursus contionabundo 2018-11-18T11:54:00Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Als Diskussionsgrundlage von oben nach unten:</p> <ul> <li> <p>Eine shell (die NICHT unbedingt ein "Kommandzeilenetwas" ist) startet Prozesse. <strong>Als Elternprozess selbst verläuft diese nicht fehlerhaft wenn ein Kindprozess fehlerhaft verläuft</strong>. Eine Shell selbst ist Kind- oder Enkelprozess eines Steuerprogramms eines OS (z.B. initd/systemd unter Linux), welches selbst nur vom Kernel verwaltet wird.</p> </li> <li> <p>Ein Compiler/Interpreter untersucht den Quelltext auf <strong>Syntaxfehler</strong>, manche (Compiler müssen das ja tun) auch auf Aufrufe fehlender Funktionen bzw. Klassen, manche also auch schon auf die Existenz der Libs (z.b. Klassendateien) und signalisiert diese. <strong>Der Elternprozess selbst verläuft hier nicht fehlerhaft</strong>, der Kindprozess (Compiler/Interpreter) bricht aber ab.</p> </li> <li> <p>Wird das Kompilat in einer "VM" ausgeführt (wie Java) werden <strong>Laufzeitfehler</strong> an diese gemeldet. <strong>Der Elternprozess (VM) selbst verläuft hier nicht fehlerhaft</strong>, der Kindprozess bricht aber ab.</p> </li> <li> <p>Wird das Kompilat eines Compiler/Interpreters direkt vom Compiler/Interpreter ausgeführt, dann werden <strong>Laufzeitfehler</strong> an den Elternprozess (eben der Kompiler/Interpreter) gemeldet. <strong>Auch hier verläuft der Elternprozess nicht fehlerhaft</strong>, der Kindprozess bricht aber ab.</p> </li> <li> <p>Ist das Kompilat stand-alone ausführbar, dann fügt der Compiler beim Kompilieren eine Fehlerbehandlung hinzu. Die kann "hart codiert" werden oder durch Verlinken von libs (-> .dll, "dynamic link libary" (win); -> .so, "shared object" (linux) ) Die Routinen liefert also die libarys der Sprache. <strong>Auch hier verläuft der Elternprozess (z.B. die Shell!) nicht fehlerhaft</strong>, der Kindprozess bricht aber ab.</p> </li> <li> <p>Im Assembler-Programm können Befehle zu unmöglichen oder unerlaubten Aktionen führen, z.B. dem Versuch, Daten in/aus nicht erlaubten Speicherbereichen zu pooken oder zu peeken. Auch muss der Assembler bekannte und erlaubte Befehle vom Rest zu unterscheiden wissen. <a href="https://runtimebasic.net/Assembler:Funktionen:Beschreibung-Kurz-CPU" rel="nofollow noopener noreferrer">Fehler werden über Interrupts gehändelt</a>. Werden Assemberprogramme ausgeführt und sind fehlerhaft, dann <strong>verläuft der Elternprozess (der Assembler selbst) nicht fehlerhaft</strong>, der Kindprozess bricht aber ab.</p> </li> </ul> <p><strong>Bis hierher sind die Elternprozesse immer in der Lage den Fehler des Kindprozesses an den eigenen Elternprozess weiterzumelden , bzw. sollen dazu in der Lage sein. Sind sie es nicht ergibt sich manchmal ein Bluescreen. Bluescreens treten besonders dann auf, wenn ein Prozess, der keinen Elternprozess hat, einen Fehler hat oder nicht abfangen kann.</strong></p> <ul> <li>Bei erkannten Fehlern auf echter Prozessorebene tritt der letzte Satz des vorherigen Absatzes automatisch in Kraft. <a href="https://de.wikipedia.org/wiki/Pentium-FDIV-Bug" rel="nofollow noopener noreferrer">Manche enden aber nicht in einem Abbruch sondern mit falschem Ergebnis</a>.</li> </ul> <blockquote> <p>Wie wird es in der Praxis abgehandelt bis hin zur untersten Schicht...</p> </blockquote> <p>Wenn Du es NOCH genauer wissen willst grenze Deine Frage ein.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736657#m1736657 ursus contionabundo 2018-11-18T11:00:56Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Hello,</p> <blockquote> <p>Eine "Exception" ~= "Exitroutine" benötigt auch keine Klassen.</p> </blockquote> <p>Völlig falsch! Eine Exception ist keine Exitroutine!</p> </blockquote> <p>Die "Exception" an sich nicht - deren Behandlung (und, falls programmierbar und programmiert: Erkennung) aber schon.</p> <p>Ich würde schon etwas wie <code>exit(2)</code> als "Exitroutine" bezeichnen - weil die syntaktische Ausgestaltung als Funktionaufruf (also: call) und die nachfolgenden (wenn auch aus Sicht eines Programmierers oft "unsichtbaren") Aktionen (Man denke an allein an den Garbage Collector!) nahelegen, dass es genau das ist.</p> <blockquote> <p>Im Übrigen meldet sich jedes Programm beim Beenden an das OS zurück mit einem sogenannten Exitcode. Wobei ein <code>Prozess beendet mit Exit-Code 255</code> heißt daß es per Exception beendet wurde. exit 0 hingegen ist (regelmäßig) ein fehlerfreier Return.</p> </blockquote> <p>Eben der Elternprozess (dem der Exit des Kindes signalsiert wird) soll (kann) den Exit-Code auswerten.</p> <p>Zutreffend ist, dass Programme für den Elternprozess (also nicht für das OS!) einen Exit-Status-Code hinterlassen und dass dieser, wenn es denn keine Null ist, signalisiert: Da ging was schief (Fatale Fehler) oder aber auch: vielleicht (Notizen, Warnungen) ging was schief. <a href="https://en.wikipedia.org/wiki/Exit_status" rel="nofollow noopener noreferrer">Was aber genau welcher Code (!=0) signalisiert ist Vereinbarungssache und soll sich an Konventionen - die durchaus sehr unterschiedlich sind - halten</a>.</p> <p>Das jetzt PHP (und Perl) als Interpreter eine 255 als exit-code hinterlassen wenn ein Syntaxfehler (compilation error) auftrat (Perl übrigens gerne eine 9 wenn es denn ein fehlendes Package vermutet oder eine Subroutine nicht definiert ist) ist z.B. eine solche Konvention.</p> <p>Beispiele (Jeweils die letzte Zeile zeigt den Exit-Code):</p> <pre><code class="block">$> echo -e "foo bar;" | perl; echo $? Can't locate object method "foo" via package "bar" (perhaps you forgot to load "bar"?) at - line 1. 9 </code></pre> <pre><code class="block">$> echo -e "foo bar(;" | perl; echo $? syntax error at - line 1, near "(;" Execution of - aborted due to compilation errors. 255 </code></pre> <pre><code class="block">$> echo -e "<?php\nfoo();" | php; echo $? PHP Fatal error: Uncaught Error: Call to undefined function foo() in Standard input code:2 Stack trace: #0 {main} thrown in Standard input code on line 2 255 </code></pre> <pre><code class="block">$> echo -e "<?php\nfoo" | php; echo $? PHP Parse error: syntax error, unexpected end of file in Standard input code on line 3 255 </code></pre> <p>Bei diesen Beispielen geht gar nichts schief. Aber der Elternprozess (Hier der Interpreter, der diesen Exit-Code an die Shell durchreicht.) bekommt eine 3 signalisiert:</p> <pre><code class="block">$> echo -e "exit(3);" | perl; echo $? 3 </code></pre> <pre><code class="block">$> echo -e "<?php\nexit(3);" | php; echo $? 3 </code></pre> <p>Dann wäre da noch der Umstand, dass die Ausgabe von Fehlermeldungen auf die Error-Konsole (stderr) erfolgen kann (Ausgaben im Beipiel unten unterdrückt). Klarer Fall von "Routine" - in dem Fall des Interpreters/Kompilers.</p> <pre><code class="block">$> echo -e "<?php\nfoo();" | php 2> /dev/null; echo $? 255 </code></pre> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736682#m1736682 Rolf B 2018-11-18T15:31:38Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hallo pl,</p> <p>Wenn ich ein PHP Script starte, das einen Syntax-Error enthält (Parse Error), endet PHP.EXE mit ERRORLEVEL 255.</p> <p>Wenn ich ein PHP Script starte, das auf einen Fatal Error läuft (z.B. ungefangene Exception), endet PHP.EXE mit ERRORLEVEL 255.</p> <p>Wenn ich ein C# Programm starte, dass nichts weiter tut als <code>throw new Exception("Foo!");</code>, endet der Prozess (reproduzierbar) mit ERRORLEVEL E0434352 (oder -532462766), was ein .net interner Code für das Windows SEH (Structured Exception Handling) ist.</p> <p>D.h. deine Annahme mit Exit Code 255 ist auf begrenzte Beobachtungen gestützt und nicht zu verallgemeinern. Es gibt unter Windows eine Menge von definierten Systemfehlercodes, und die meisten Shell-Programme liefern sie auch zurück wenn einer davon auftritt. Aber ansonsten ist hier viel Raum für Kreativität. Perl und PHP sind hier bereits kreativ - 255 ist kleinster gemeinsamer Nenner für alle Exitcode-fähigen Betriebssystem; selbst wenn ein Exitcode nur 8-bittig sein sollte, ist 255 immer noch möglich. Unter Windows hat der Systemfehlercode 255 aber eine ganz andere Bedeutung: ERROR_EA_LIST_INCONSISTENT - The extended attributes are inconsistent. Das ist irgendein interner Error des File Systems.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736677#m1736677 ursus contionabundo 2018-11-18T14:49:31Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <blockquote> <blockquote> <p>Das möchte man nun wirklich nicht mehr alles eigenhändig verwalten, oder?</p> </blockquote> <p>Und was hat die Verwaltung mit Exceptions zu tun?</p> </blockquote> <p>Ganz einfach: Wenn man beim Verwalten der Exceptions was falsch macht <a href="https://forum.selfhtml.org/self/2018/nov/16/mehrere-instanzen-einer-exception-class/1736673#m1736673" rel="noopener noreferrer">kommt sowas raus</a>.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736672#m1736672 pl http://rolfrost.de/brd.html 2018-11-18T13:29:05Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Zutreffend ist, dass Programme für den Elternprozess (also nicht für das OS!) einen Exit-Status-Code hinterlassen</p> </blockquote> <p>Doch genau das: <strong>Jedes</strong> Programm meldet sich mit einem bestimmten Status von 0..255 an das OS zurück!</p> <p>Und selbstverständlich tun das auch PHP und Perl Scripts! Und auch dann wenn kein explizites <code>exit 0;</code> angewiesen wurde meldet sich ein Perlscript spontan mit Status 0 an das OS zurück -- Sofern es keinen Ausnahmefehler oder einen Absturz gab oder es per kill-Signal vom OS an Script beendet wurde.</p> <p>Und das war schon immer so!</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736673#m1736673 pl http://rolfrost.de/brd.html 2018-11-18T13:41:42Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Das jetzt PHP (und Perl) als Interpreter eine 255 als exit-code hinterlassen wenn ein Syntaxfehler (compilation error) auftrat (Perl übrigens gerne eine 9 wenn es denn ein fehlendes Package vermutet oder eine Subroutine nicht definiert ist)</p> </blockquote> <p>Auch falsch.</p> <pre><code class="block">Undefined subroutine &main::foo called at .. pack.pl line 15. Prozess beendet mit Exit-Code 255 </code></pre> <p>MfG</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736676#m1736676 ursus contionabundo 2018-11-18T14:42:03Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Doch genau das: Jedes Programm meldet sich mit einem bestimmten Status von 0..255 an das OS zurück!</p> </blockquote> <p>Nein. An den Parent-Prozess. Ob das OS vermittelt ist irrelevant.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736674#m1736674 ursus contionabundo 2018-11-18T14:05:16Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <blockquote> <p>Das jetzt PHP (und Perl) als Interpreter eine 255 als exit-code hinterlassen wenn ein Syntaxfehler (compilation error) auftrat (Perl übrigens gerne eine 9 wenn es denn ein fehlendes Package vermutet oder eine Subroutine nicht definiert ist)</p> </blockquote> <p>Auch falsch.</p> <pre><code class="block">Undefined subroutine &main::foo called at .. pack.pl line 15. Prozess beendet mit Exit-Code 255 </code></pre> </blockquote> <p>Niemand außer Dir weiß was Du getan hast, <strong>weil Du den Code der übrigen Zeilen nicht zeigst</strong>, sondern nur Behauptungen aufstellst. <strong>Ich habe folgendes getan:</strong></p> <p>1.)</p> <pre><code class="block">$> echo -e "foo bar;" | perl; echo $? Can't locate object method "foo" via package "bar" (perhaps you forgot to load "bar"?) at - line 1. 9 </code></pre> <p>2.)</p> <pre><code class="block">$> echo -e "foo();" | perl; echo $? Undefined subroutine &main::foo called at - line 1. 9 </code></pre> <p>und 3.)</p> <pre><code class="block">$> echo -e "foo bar(;" | perl; echo $? syntax error at - line 1, near "(;" Execution of - aborted due to compilation errors. 255 </code></pre> <p>Das ist auch nachvollziehbar. (Wobei ich mir nicht ganz sicher bin, ob sich Dein spezielles Perl (wohl auch mitsamst Deinem geheimen Framework) unter Deinem speziellen OS anders verhält.) Aber aus meinen Versuchen 1.) und 2.) folgt, dass Perl <em>"gerne mal"</em> den Exit-Code 9 zurück gibt, <em>"wenn es denn ein fehlendes Package vermutet oder eine Subroutine nicht definiert ist."</em></p> <p>Obige Ergebnisse zu Versuch 1.) und 2) entsprechen ergo genau meiner Aussage, die Du als "falsch" bezeichnest - sie ist aber definitiv und nach allen Regeln der Logik <strong>richtig</strong>.</p> <p>Vielleicht liegt es ja an Deinem Framework, welches die Exitcodes verhunzt. Irgendwas muss wird schließlich in Deinen geheimen Zeilen 1 bis 14 stehen.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736678#m1736678 pl http://rolfrost.de/brd.html 2018-11-18T14:54:53Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <blockquote> <blockquote> <p>Das jetzt PHP (und Perl) als Interpreter eine 255 als exit-code hinterlassen wenn ein Syntaxfehler (compilation error) auftrat (Perl übrigens gerne eine 9 wenn es denn ein fehlendes Package vermutet oder eine Subroutine nicht definiert ist)</p> </blockquote> <p>Auch falsch.</p> <pre><code class="block">Undefined subroutine &main::foo called at .. pack.pl line 15. Prozess beendet mit Exit-Code 255 </code></pre> </blockquote> <p>Niemand außer Dir weiß was Du getan hast, <strong>weil Du den Code der übrigen Zeilen nicht zeigst</strong>, sondern nur Behauptungen aufstellst.</p> </blockquote> <p>Du hast behauptet, nicht ich! Im übrigen ist klar ersichtlich, was diesen Exit-Code 255 erzeugt hat!</p> <p>.</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736681#m1736681 pl http://rolfrost.de/brd.html 2018-11-18T15:10:12Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <blockquote> <blockquote> <blockquote> <p>Das möchte man nun wirklich nicht mehr alles eigenhändig verwalten, oder?</p> </blockquote> <p>Und was hat die Verwaltung mit Exceptions zu tun?</p> </blockquote> <p>Ganz einfach: Wenn man beim Verwalten der Exceptions was falsch macht</p> </blockquote> <p>Exceptions werden nicht verwaltet!</p> <p>Btw., ich lese hier immer wieder, daß catch dazu dient, Exceptions zu fangen. Das ist jedoch auch nicht richtig, denn gefangen wird eine Exception im try{}Block wobei man das besser als ein Auffangen bezeichnen sollte.</p> <p>So ist das was in catch gemacht wird in erster Linie ein Lookup: Nämlich ob Exceptions <strong>gefallen und aufgefangen</strong> worden sind.</p> <p>Mitnichten also werden Exceptions verwaltet, das ist völliger Unfug!</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736680#m1736680 ursus contionabundo 2018-11-18T15:04:32Z 2018-11-19T10:46:39Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <blockquote> <p>Du hast behauptet, nicht ich!</p> </blockquote> <p>Was, bitte, erzeugt: <code>Prozess beendet mit Exit-Code 255</code> ?</p> <blockquote> <p>Im übrigen ist klar ersichtlich, was diesen Exit-Code 255 erzeugt hat!</p> </blockquote> <p>Nein. So lange nicht klar ist, was obiges erzeugt und so lange die Zeilen 1 bis 14 geheim sind ist gar nichts "klar ersichtlich".</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736684#m1736684 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-18T15:55:21Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Aloha ;)</p> <blockquote> <p>Btw., ich lese hier immer wieder, daß catch dazu dient, Exceptions zu fangen. Das ist jedoch auch nicht richtig, denn gefangen wird eine Exception im try{}Block wobei man das besser als ein Auffangen bezeichnen sollte.</p> </blockquote> <p>Nein, im try-Block fängt man sie sich <em><strong>ein</strong></em>.</p> <blockquote> <p>So ist das was in catch gemacht wird in erster Linie ein Lookup: Nämlich ob Exceptions <strong>gefallen und aufgefangen</strong> worden sind.</p> </blockquote> <p>Auch nein, denn würde schon der try-Block die Exceptions auffangen, dann könnten Sie später im Fall der Nichtbeachtung nicht weiter fallen. Deshalb ist das schon völlig richtig, dass erst der catch-Block die Exceptions fängt (und dann eventuell bewusst weiterwirft).</p> <p>Gerade in typisierten Sprachen mit Vererbung von der Exception-Klasse kommt das zum Tragen, da ein Catch-Block nicht nur alle Fehler fangen, sondern auch nur eine einzige Art Fehler fangen kann.</p> <blockquote> <p>Mitnichten also werden Exceptions verwaltet, das ist völliger Unfug!</p> </blockquote> <p>Wer Code verwalten kann, kann auch Exceptions verwalten.</p> <p>Häng dich doch nicht immer so an einzelnen Worten auf – vor allem dann nicht, wenn du im Zweifelsfall der bist, dessen Vorstellung davon, was die Wörter bedeuten, mit dem, was gefühlt alle anderen darunter verstehen, auseinandertriftet... Außer, du möchtest in Zukunft nur noch Selbstgespräche führen, dann kannst du dir natürlich weiter die Begriffe so zurechtlegen wie du lustig bist.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736714#m1736714 pl http://rolfrost.de/brd.html 2018-11-19T11:21:19Z 2018-11-19T11:21:19Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>hi <a href="/users/6547" class="mention registered-user" rel="noopener noreferrer">@Rolf B</a></p> <p>jeder Prozess meldet sich beim Beenden an seinen Parent. Wobei dieser Parent selbstverständlich auch das OS sein kann, so habe ich das mal gelernt. Was das OS selbst an Errorcodes definiert ist ein völlig anderes Thema.</p> <p>Nur sollte beim Programmieren wenigstens die Kenntnis vorhanden sein, daß es überhaupt einen Exitstatus gibt und daß eine nicht aufgefangene Exception auch vom übergeordneten Prozess wahrgenommen wird eben über den Exit Status != 0 und eben auch vom OS.</p> <p>Die diesbezügliche Dokumentation ist gerade auch in Perl sehr umfangreich, das kann jeder selber lesen. Siehe POSIX, siehe die, siehe exit, perlvar usw.</p> <p>Des Weiteren gibt es für die Kommunikation unter Prozessen nicht nur den Exitstatus. So kann z.B. auch das OS an einen Perlprozess Signale senden, bspw. ein Signal zum beenden.</p> <p>MfG</p> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736689#m1736689 Rolf B 2018-11-18T18:08:30Z 2018-11-19T10:47:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Hallo,</p> <p>im Hochsprachenkonstrukt try / catch kann man durchaus sagen, dass die Exception irgendwo geworfen und von den catch-Blöcken gefangen wird. Je nachdem, was die Catch-Blöcke dann tun, wird die Exception verschluckt, weitergeworfen (rethrow) oder durch eine neu geworfe Exception ersetzt.</p> <p>Kurzer Regress zu dem, was ich über Perl gelernt habe: Wenn ich in Perl Exceptions fangen will, implementiere ich das so, dass ich den Code in eine eval-Klammer lege. Die Eval-Klammer fängt die Exception und stellt mir den geworfenen Wert in $@ bereit. Hier ist die Aufgabenteilung also anders: eval() macht die ganze Arbeit und danach kann der Programmierer die Trümmer begutachten.</p> <p>Aber - das ist alles Highlevel und eine Abstraktion dessen, was auf Betriebssystemebene passiert. Schon das Wort Betriebssystem lässt erkennen, dass es jetzt spezifisch wird - jedes Betriebssystem anders. Übrigens sind 32-bit Windows und 64-bit Windows zwei unterschiedliche Betriebssysteme!</p> <p>Win32: Jeder Windows Thread verfügt über einen Thread-Informationsblock (TIB), der an der Adresse FS:0 zu finden ist (ja, die guten alten Segmentregister). Der erste Eintrag des TIB ist ein Zeiger auf eine EXCEPTION_REGISTRATION Struktur aus zwei DWORDs: Ein Previous-Pointer (auf eine ältere Exception-Registration) und eine Prozedur-Adresse. Diese Struktur liegt nicht irgendwo, sondern auf dem Stack, im Stackframe der Procedure die einen try-Block aufbauen will. Wenn eine Exception geworfen wird (Win23 API Funktion), folgt Windows der Liste der registrierten Exceptionhandler und ruft den Callback auf. Der bekommt einige Informationen zur Exception und kann sagen: "Kann ich behandeln" oder "Lass fliegen". Sagt er "kann ich behandeln", wird die Handlerkette nochmal aufgerufen, diesmal mit einem "Unwind" Parameter. Das ist die Aufforderung für die Handler, eventuell fällige Aufräumarbeiten durchzuführen. Der Handler, der "kann ich behandeln" sagt, legt dann fest, wo die Programmausführung weitergeht und wie der Stackpointer zu justieren ist, damit der Code so weiterlaufen kann als wäre nichts geschehen. Das ist nicht trivial, ich habe es auch noch nie selbst gemacht, Microsoft hat es mies dokumentiert und die beiden Texte im Netz, die dazu was beschreiben, habe ich nur partiell verstanden .</p> <p>Win64: funktioniert ganz anders, da wird nichts auf den Stack gelegt. Weil - ein Buffer Overrun könnte das manipulieren oder zerstören. Statt dessen erzeugt man im EXE eine spezielle Steuertabelle, in der steht, in welchem Programmbereich welche Exceptionregeln gelten sollen (ich habe aufgehört, das genauer durchdringen zu wollen) und Win64 baut daraus den Stack Unwind selbsttätig zusammen. Vorteil ist, dass man Null Overhead hat um einen try-Block zu markieren. Ob man in einem try-Block ist, wird erst geprüft wenn die Exception fliegt.</p> <p>Außer dem Structured Exception Handling (das es schon in Win95 gab) existiert seit WinXP noch Vectored Exception Handling - damit kann man einen zentralen Handler für alle Exception hinterlegen.</p> <p>All das sind Informationen für Compilerbauer und Assemblerprogrammierer. Microsoft dokumentiert das deshalb so schlecht, weil man das gar nicht selbst nutzen soll. Auf Assemblerebene ist das alles eher simpel und frei von OOP: Man registriert einen Exception Handler, führt Code aus und nimmt den Handler wieder weg. Falls Betriebssystem oder eigener Code entscheiden, dass jetzt eine Exception fällig ist, wird RaiseException() aufgerufen und diese Funktion bekommt einen Exception Code, ein paar Flags und eine Liste von frei definierten Parametern übergeben. Im Handler kann man Code, Flags und Parameter abfragen. Die Laufzeitumgebung einer Hochsprache fügt hier ihre eigene Logik ein, um Destruktoren von Objekten auf dem Stack aufzurufen und Dinge wie Exception-Objekte zu erzeugen. Damit so etwa wie ein sauberer Stacktrace möglich ist, braucht eine Hochsprache außer der EXCEPTION_REGISTRATION noch ein paar Informationen mehr, um zu wissen wo genau der Stackframe beginnt, so dass außer dem Handler-Walk auch ein Stack-Walk möglich ist um den Stacktrace aufzubauen.</p> <p>Und was machen Perl oder PHP? Die compilieren ihre Programme nicht in Maschinencode. Sie übersetzen Sourcecode in einen Zwischencode und interpretieren den. Wie von PHP ein try-Block aufgebaut wird, habe ich allerdings nicht durchschaut, es gibt in der ZEND-Engine keinen Opcode dafür (nur für throw und catch). Im PHP Wiki ist das auch nicht dokumentiert. Es ist hier also schwierig für jemanden, der in der ZEND Engine die Bits nicht beim Vornamen kennt, hier durchzublicken. Ich würde allerdings vermuten, dass PHP auch in der Windows Implementierung nicht das SEH von Windows verwendet, sondern sein eigenes Süppchen kocht.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736693#m1736693 Camping_RIDER janosch.zoller@selfhtml.org http://www.campingrider.de 2018-11-18T21:09:04Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Aloha ;)</p> <blockquote> <p>im Hochsprachenkonstrukt try / catch kann man durchaus sagen, dass die Exception irgendwo geworfen und von den catch-Blöcken gefangen wird. Je nachdem, was die Catch-Blöcke dann tun, wird die Exception verschluckt, weitergeworfen (rethrow) oder durch eine neu geworfe Exception ersetzt.</p> </blockquote> <p>Eben. Genau das war doch meine Aussage.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736709#m1736709 TS ts-self@online.de https://bitworks.de 2018-11-19T10:22:57Z 2018-11-19T10:46:39Z Exceptions explizit erklären?: 100€ Prämie! Bitte denkt mal positiv! <p>Hello Rolf,</p> <p>hier wird es langsam spannend!</p> <p>Du bist mMn im Moment der führende Erklärbär, auch wenn noch viele Details fehlen ;-)</p> <p>Ich akzeptiere die Antwort daher schon mal <strong>[der Haken ist leider nicht verfügbar?!]</strong> und gebe ein (+), bitte aber um Verständnis, dass das angepeilte Ziel noch weit entfernt ist :-)</p> <p>Ich würde es deshalb begrüßen, wenn Du die Neugierigen unter uns (z. B. mich) weiterhin begleiten und unterstützen würdest.</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736799#m1736799 TS ts-self@online.de https://bitworks.de 2018-11-20T14:59:19Z 2018-11-20T14:59:19Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hello Hotti,</p> <blockquote> <p>jeder Prozess meldet sich beim Beenden an seinen Parent.</p> </blockquote> <p>Wenn er vorher abkackt, meldet sich da gar nichts mehr...</p> <blockquote> <p>Wobei dieser Parent selbstverständlich auch das OS sein kann, so habe ich das mal gelernt. Was das OS selbst an Errorcodes definiert ist ein völlig anderes Thema.</p> </blockquote> <p>... und man kann nur hoffen, dass OS und IDE die Teilprozesse ausreichend stabil gekapselt haben und überwachen, ob sie noch leben, oder ob sie zum Zombie geworden sind, oder ob sie einfach nur noch wirr Speicheradressen adressieren, die ihnen gar nicht gehören und deshalb tunlichst für den kaputten Prozess unerreichbar sind. Das entscheidet aber die IDE beim Zusammenstellen des Codes und den passenden Requests beim OS.</p> <blockquote> <p>Nur sollte beim Programmieren wenigstens die Kenntnis vorhanden sein, daß es überhaupt einen Exitstatus gibt und daß eine nicht aufgefangene Exception auch vom übergeordneten Prozess wahrgenommen wird eben über den Exit Status != 0 und eben auch vom OS.</p> </blockquote> <p>Der Exit-Status eines Programmmodules hat mMn nichts mit den Exceptions zu tun, die man als Programmierer einbaut in seinen Programmfluss. Um einen Exit-Status zu erhalten muss man seine "App" mindestens in eine virtual (real) Maschine einpacken, oder einen Fork beantragen, oder ... Das OS kümmert sich dann. Um die Exceptions kümmert es sich aber nicht. Dazu muss der Code entsprechend schlau assembliert werden.</p> <blockquote> <p>Des Weiteren gibt es für die Kommunikation unter Prozessen nicht nur den Exitstatus. So kann z.B. auch das OS an einen Perlprozess Signale senden, bspw. ein Signal zum beenden.</p> </blockquote> <p>Das ist mMn eine ganz andere Ebene, als die berühmten Exceptions.</p> <p>Aber genaus <strong>DAS</strong> wollte ich ja von jemandem erklärt haben, der mindestens so tief einsteigen mag, wie RolfB.</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> https://forum.selfhtml.org/self/2018/nov/16/wer-kann-exceptions-noch-explizit-erklaeren-100eu-praemie-timeout-strich-deadline-gleich-31-punkt-12-punkt-2019/1736810#m1736810 Rolf B 2018-11-20T16:16:50Z 2018-11-20T16:16:50Z Wer kann Exceptions noch explizit erklären? - 100€ Prämie! - Timeout/Deadline = 31.12.2019 <p>Hallo Tom,</p> <p>da ein Prozess nicht direkt andere aufruft, sondern das OS dazwischen hängt, kriegt das OS den mit und kann Dir dann das Klopapier rüberreichen. Ich mag das jetzt nicht testen, viel Tipparbeit, aber die Beziehung Shell ⇒ Programm ist die gleiche wie bei Programm ⇒ Subprogramm, insofern bekommt ein Programm das schon mit.</p> <p>Ob man aber garantiert erkennen kann, dass ein Subprozess wegen einer ungefangenen Exception in die gerannt ist - da bin ich mir gar nicht sicher. Das mag betriebssystemspezifisch sein. In einem Russisch Roulette Betriebssystem wie DOS kann es natürlich sein, dass man gar nichts mehr mitbekommt. Weil die Exception dazu führte, dass der Instruction Pointer des Prozessors auf eine lustige Stelle im Grafikspeicher gesetzt wurde, oder so ähnlich, und die Karre nun den Dreifinger-Gruß braucht. Oder den Any Key<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>.</p> <p>Ansonsten ist die Beziehung zwischen Prozessen für das Thema "Exception Handling innerhalb von Prozessen" ein Fall für die Copacabanas: "Klingt interessant" - "Ist es aber nicht".</p> <blockquote> <p>Um die Exceptions kümmert sich (das OS) aber nicht.</p> </blockquote> <p>Windows schon. Es stellt dafür eine Standardinfrastruktur bereit. Ob man die nutzen MUSS, weil es Funktionen im Windows API gibt, die SEH Exceptions werfen, das weiß ich nicht.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> <hr class="footnotes-sep"> <section class="footnotes"> <ol class="footnotes-list"> <li id="fn1" class="footnote-item"><p>Wenn der Computer sagt "Hit any key to continue" und ein Luser fragt, wo der ist, zeigt man auf die „Continue“-Taste am Computergehäuse. <a href="#fnref1" class="footnote-backref">↩︎</a></p> </li> </ol> </section>