Das mit dem
try .. finally
in deinem Code habe ich aber auch nicht verstanden.
Du möchtest also, auch wenn vorher eine
Exception geworfen wurde, immer einen Response abliefern, ohne zu wissen, ob der nun sinnvoll oder sinnentleert ist.
Wenn in dem Code eine
Exception auftritt, dann kann man die behandeln, weil man das erwartet hat und dafür eine Möglichkeit hat, das noch zu retten oder man lässt diese
Exception passieren (und fängt diese an anderer Stelle zum Loggen).
Der
finally
Block ist hervorragend zum Aufräumen gedacht um keine Speicherlecks zu hinterlassen. Oder etwas zu schließen, was vorher geöffnet wurde.
Insgesamt sehe ich hier auch eine fehlerhaftes Management der Exceptions.
Und warum der gleiche Frame immer wieder in ein JPEG umgerechnet werden soll erschließt sich mir auch nicht.