2010-12-11 14 views
0

Im Allgemeinen möchte ich wissen, was ist der Unterschied zwischen Bug und Ausnahme?Was ist der Unterschied zwischen einem Fehler und einer Ausnahme?

Wenn ich für ein bestimmtes Framework spezifisch sein muss, dann würde ich gerne mit .Net gehen.

+0

möglich Duplikat von [PHP: Ausnahmen vs Fehler?] (Http://StackOverflow.com/Questions/841500/php-Exceptions-VS-Ferrors), das gleiche Konzept in PHP – ajreal

+2

gut, in .NET nur 'Exception' ist als eine formale Sprache/Laufzeit Konstrukt definiert ... es ist schwer, die Unterschiede zwischen 1 Sache zu diskutieren –

+0

Meinst du Bug und Ausnahme (wie in Ihrem Titel) oder Fehler und Ausnahme (wie in Ihrer Beschreibung)? – ScottE

Antwort

2

Eine Ausnahme ist eine Ausnahme, aber erwartet Umstand.

Offensichtliche Beispiele umfassen Fälle, in denen eine Datei (z. B. Protokolldatei) nicht gefunden werden kann oder die Benutzereingabe nicht in eine Ganzzahl konvertiert wird.

Ein Fehler ist ein Fehler im Code, der zu einem falschen Ergebnis führt. Dies kann eine Ausnahme auslösen oder nicht.

Beispiele:

  1. Sie tun einige Berechnung und aufgrund von Rundungsfehlern (beispielsweise) die Ausgabe ist "23.9" statt "24". Dies wäre ein Fehler, löst aber keine Ausnahme aus.

  2. Sie erstellen einen Dateinamen, aber den Pfad falsch, der eine Ausnahme "Datei nicht gefunden" verursacht. Dies könnte ein Fehler sein, würde aber eine Ausnahme auslösen.

0

Fehler in Ihrem Code können dazu führen, dass Ausnahmen zur Laufzeit ausgelöst werden oder sogar die Kompilierung Ihres Codes bei Syntaxfehlern verhindert wird. Also im Grunde ist das erste die Ursache für das zweite oder das zweite ist eine Folge des ersten.

+1

natürlich kann ein Fehler * nicht * eine Ausnahme verursachen (es macht nur das Falsche, was anders ist); und eine ausnahme ist nicht unbedingt auf einen fehler zurückzuführen (es könnte ein externer faktor sein, zum beispiel der db-server verwandelt sich in ein brikett) –

+0

@Marc, deshalb habe ich gesagt * fehler in deinem code könnten ... *, aber natürlich Sie weisen zu Recht darauf hin, dass Ausnahmen auf externe Faktoren zurückzuführen sein können. Es ist auch gut möglich, dass der Server * db zu einem Brikett wurde, weil jemand schlechten Code schreibt, um ihn abzufragen. –

3

Unterschied zwischen Bugs, Ausnahmen und Endbenutzer-Fehler

von Dhaval Patel

Menschen sind verpflichtet, Fehler zu machen, und Programmierer sind Menschen. Anwendungen können aus verschiedenen Gründen abstürzen oder nicht mehr ausgeführt werden. Der Absturz kann während der Anwendungsentwicklung ODER während der Produktion auftreten, wenn die Anwendung bereits freigegeben wurde. Nun kann dieser Schluckauf auf drei Arten kategorisiert werden:

1) Bugs - Wenn die Ursache des Fehlers wegen eines Fehlers von einem Entwickler gemacht wurde, rief es einen Fehler. Ein Entwickler kann gut erfahren sein, aber kann aus Versehen immer noch schlechten Code schreiben. Zum Beispiel kann ein deklariertes Dateiobjekt nicht entsorgt werden und später einen Speicherverlust verursachen, was ein Fehler ist. Normalerweise werden Fehler während der Entwicklung von Unternehmensanwendungen von Testern erfasst und basierend auf ihrer Kritikalität kategorisiert. Aber manchmal kann sogar das Testteam einen Fehler übersehen. Nun, das ist Gefahr!

2) Ausnahmen - Eine Ausnahme kann eine Systemausnahme oder eine Anwendungsausnahme sein. Nehmen wir an, eine Datei, die von dem Code analysiert wurde, wurde von jemandem aus dem gesuchten Ort gelöscht, dann kann eine "Datei nicht gefunden" -Ausnahme auftreten. Solche Ausnahmen werden normalerweise mit Hilfe von Exception-Handlern durch gut geschriebenen Code behandelt. Diese Fehler werden normalerweise zur Laufzeit verursacht. Sie können manchmal schwierig zu verhindern sein, können aber sicher mit gutem Code behandelt werden. Es könnte eine Szene geben, in der der Programmierer die Ausnahme nur durch guten Code abfängt, aber nicht verhindern kann.

3) Endbenutzerfehler - Ein Fehler kann durch eine Eingabe des Endbenutzers ausgelöst werden. Beispielsweise kann eine ungültige Zeichenfolge in einem Textfeld eingegeben werden, das eine Zahl erwartet. Diese Arten von Fehlern können mit Steuerelementen wie RegularExpressionValidator oder Code behandelt werden, der die Tastatur-, Maus- und Stifteingabe verarbeitet. Diese Fehler können, wenn sie vom Entwickler nicht effizient gehandhabt werden, schreckliche Albträume verursachen.Zum Beispiel kann eine Anwendung durch SQL-Injections gehackt oder beschädigt werden. Wenn überhaupt, erlauben Eingabefelder fehlerhafte Eingaben, die den Code knacken können.

Die drei obigen Punkte sind die breiten Kategorien, in die Fehler unterteilt werden können.

Glückliche Programmierung.

Prost!

Verwandte Themen