OutOfMemoryException - bei Bitmaps kopieren

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 28 Antworten in diesem Thema. Der letzte Beitrag () ist von MichaHo.

    MichaHo schrieb:

    die Exception fliegt trotzdem
    Sieht aus, als ob das eine nicht korrekt gemanagede Exception aus unmanaged Code ist. :/
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ist mir auch ganz unbekannt, dass Image.FromFile() eine OutOfMemory werfen könnte. Und noch mysteriöser ist mir, dass ein TryCatch die dann nicht fängt.

    Wobei - wenns wirklich OutOfMemory ist, könnte ichs mir noch mit ach und Krach zusammenreimen, damit, dass wenn der Arbeitsspeicher feddich ist, dass dann das ganze System im Eimer ist, inklusive des Debuggers.
    Aber wie gesagt: Alles äusserst mysteriös.

    ErfinderDesRades schrieb:

    ist mir auch ganz unbekannt, dass Image.FromFile() eine OutOfMemory werfen könnte. Und noch mysteriöser ist mir, dass ein TryCatch die dann nicht fängt.

    Wobei - wenns wirklich OutOfMemory ist, könnte ichs mir noch mit ach und Krach zusammenreimen, damit, dass wenn der Arbeitsspeicher feddich ist, dass dann das ganze System im Eimer ist, inklusive des Debuggers.
    Aber wie gesagt: Alles äusserst mysteriös.


    Man lernt nie aus :)
    Auch wenn du sicher selbst weißt wo man das nachlesen kann -> msdn.microsoft.com/de-de/library/4sahykhd(v=vs.110).aspx
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @mrMo
    ich hatte tatsächlich nach der Exception geguckt und auch auf MSDN geschaut welche Exception das Image.FromFile wirft, aber deinen Link bin ich dabei nicht gestossen...
    echt komisch das ganze... mit der Prüfung auf die Dateigrösse komm ich erstmal weiter...mal gespannt wie lange... :)

    es ging ja auch darum, das der try/Catch die Exception nicht abfängt, sondern das Programm crasht einfach
    "Hier könnte Ihre Werbung stehen..."

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaHo“ ()

    MichaHo schrieb:

    es ging ja auch darum, das der try/Catch die Exception nicht abfängt, sondern das Programm crasht einfach
    Bei mir funktioniert das:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Source() As IO.FileInfo = New IO.DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets").GetFiles()
    3. Private Destination As String = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) & "\winSpotlight\"
    4. Private imgCounter As Integer = 0
    5. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    6. For Each f As IO.FileInfo In Source
    7. Try
    8. Using img = Image.FromFile(f.FullName)
    9. If img.Width < 1900 Then Continue For
    10. img.Save(Destination & "Wallpaper" & imgCounter & ".jpg")
    11. imgCounter += 1
    12. End Using
    13. Catch ex As OutOfMemoryException
    14. 'MessageBox.Show(ex.Message)
    15. ListBox1.Items.Add(f.FullName)
    16. End Try
    17. Next
    18. End Sub
    19. End Class


    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hmm @RodFromGermany, hab ich da eine Einstellung im Studio falsch?
    Bei mir klappt das bei gleichem Code nämlich nicht:


    EDIT: jetzt klappt es bei mir auch, musste den Haken raus nehmen in der Fehlermeldung, dann fliegen die Übeltäter in die Listbox und proggi läuft fein weiter...
    "Hier könnte Ihre Werbung stehen..."

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaHo“ ()