Has your code been truncated? I can't see the catch block in the sample you posted.
Whether you can test this depends on whether its something that can occur based on user input etc (bad data) or if you are trying to catch unexpected errors.
If the former, you can should be able to set bad test data up and get the exception to be thrown.
If the latter, you can use the Test.isRunningTest method to determine if you are running inside a unit test and throw a random exception.
Has your code been truncated? I can't see the catch block in the sample you posted.
Whether you can test this depends on whether its something that can occur based on user input etc (bad data) or if you are trying to catch unexpected errors.
If the former, you can should be able to set bad test data up and get the exception to be thrown.
If the latter, you can use the Test.isRunningTest method to determine if you are running inside a unit test and throw a random exception.