When querying prohibited endpoint, e.g.
SELECT * { SERVICE SILENT <http://bnb.data.bl.uk/sparql> { SELECT * { ?b1 ?n1 ?b2 } LIMIT 1 } }
The error is still displayed. The standards say:
Queries may explicitly allow failed SERVICE requests with the use of the SILENT keyword. The SILENT keyword indicates that errors encountered while accessing a remote SPARQL endpoint should be ignored while processing the query. The failed SERVICE clause is treated as if it had a result of a single solution with no bindings. In the following query the SILENT keyword is present. If the remote SPARQL endpoint is not available because the SPARQL endpoint does not exist, it is down or it is not accessible the query will return a solution sequence of one empty solution mapping. If the SILENT keyword is not present, the query will stop and return the error.
This suggests if non-existing endpoint does not produce error, prohibited one shouldn't either.