Selected Answer
Speed
If you want a message if the delete fails, On Error Goto... can be used in conjuction with a loop through the array and trying to delete each sheet.
In the revised code below, the code jumps when an error occurs to the line ErrorHandling (and returns after the name of the sheet is captured). I've called the array WsArr (rather than ws) and shown major changes in bold (plus some explanatory comments):
Option Explicit
Sub delsh()
Dim WsArr As Variant
Dim NotFound As String, r As Integer, n As Integer
WsArr = Array("ss", "dd")
Application.DisplayAlerts = False
On Error GoTo ErrorHandling
For n = LBound(WsArr) To UBound(WsArr) 'loop through array
Sheets(WsArr(n)).Delete ' causes an error if sheet doesn't exist
Next n
Application.DisplayAlerts = True
If NotFound <> "" Then r = MsgBox("Sheets not found/deleted: " & NotFound, vbOKOnly)
Exit Sub
ErrorHandling:
NotFound = NotFound & WsArr(n) & ", " ' add undeleted sheet to list
Resume Next 'carry on with loop
End Sub
It will delete the sheets first time but next time advise if any can't be deleted. I didn't bother to add the list of the successfully deleted files to the message.
Hope this works for you.