I doubt that there was any crash.
I don't know of any way for a script to check for the presence of a particular sheet in an Excel workbook or for specific content in any other external file type. So your solution won't work.
Error conditions like yours happen in real life all the time. There are ways to deal with them in the script. Have you learned JSL yet? You should read Help > Books > Scripting Guide. Chapter 8 in the current version covers Programming Methods such as error handling.
Are you sure that your code works when the desired sheet is present?
One way is to pay attention to what the Open() function returns. What is returned to the log? Did you look at it? You could store the result in a variable and then test whether it was successful.
Alternatively, you could use the built-in error handling mechanism to trap the error condition. In your case, this mechanism would work like this example:
Try(
new_dt = Open(
file_path,
Worksheets( sheet ),
Worksheet Settings( Headers Start on Row( header_line ), Data Starts on Row( data_line ) )
),
// code in case Open() fails
);;
// code in case Open() succeeds