Nicht, es sei denn, Sie beschäftigen sich mit nicht verwalteten Ressourcen wie dem Rohspeicherzugriff. (In diesem Fall ist die Ausnahme wahrscheinlich nicht die Ursache)
.NET-Ausnahmen werden von der Laufzeitumgebung abgefangen. Sie können Ihr PROGRAMM aber nicht das OS zum Absturz bringen.
Nach meiner Erfahrung sind die einzigen Dinge, die BSODs verursachen schlechte Treiber und Hardware-Fehler. (Dies ist natürlich keine umfangreiche Liste der Ursachen von BSOD, aber das ist der erste Ort, den ich sehe. )
Die einzigen Ursachen für einen BSOD sind Hardwarefehler, Betriebssystemfehler oder Treiberfehler. .NET-Code kann niemals einen BSOD verursachen.
Nein; Idealerweise sollte es keine Möglichkeit geben, einen BSOD von C # zu verursachen.
Zeigen Sie uns den Code, der das verursacht, und wir werden sehen, ob wir Ihnen helfen können.
Nein, würde es nicht. Das bedeutet nicht, dass Sie möglicherweise keinen BSOD mit einem C # -Programm verursachen könnten, aber wenn Sie dies getan hätten, wäre dies nicht auf eine nicht behandelte Ausnahme zurückzuführen.
Ja, es ist möglich, indirekt. Es gibt viel nicht verwalteten Code, den Sie verwenden, wenn Sie mit Namespaces wie System.Management, System.Windows.Media, System.Drawing.Printing, System.IO.Ports arbeiten. Dieser Code kann Gerätetreiberaufrufe auslösen, die einen Fehler im Gerätetreiber auslösen können. Blauer Bildschirm ist der nächste.
Offensichtlich liegt das eigentliche Problem nicht im verwalteten Code, es ist ein mieser Treiber.
Aber um die Frage direkt zu beantworten: Nein, eine unbehandelte gemanagte Ausnahme kann keinen BSOD verursachen.
Können Sie den Code teilen, der mit Ihrem Treiber interagiert?
Wie auch immer, es sieht so aus, als wäre hier der Treiber selbst schuld: Ein BSOD ist das Ergebnis eines unbehandelten Programmabsturzes im Kernel (in diesem Fall Ihr Treiber).