Try-catch structure problem

here is a minimise code

import processing.video.*;
Movie m;
boolean error = false;
void setup(){
  size(200,200);
}

void draw(){
  background(0);
  if (error){
    background(255,0,0);
  }
}

void keyPressed(){
  if (key == 'h'){
    String tem= key+".mp4";
    try{
      m = new Movie (this,tem);
    }
    catch (Exception e){
      error = true;
      print("catch is run");
    }
  }
}

in this, the code in catch will be run once
and the whole sketch frozen.
How can I make the sketch continue to run after catch the exception?

Hi John.
Yes, I also use the try-catch block a lot, and it does not always pass over the error. It seems to me the most obvious error that the file couldn’t be found. So I normally do an ‘if file exists’ check, in those cases. The Processsings example DirectoryList could help how to check the path.