According to the WriteException docs, the class extends ServerException; however, the corresponding stub in the 1.x branch suggests that it extends RuntimeException. The actual implementation in WriteException.c correctly uses ServerException.
This issue persisted in BulkWriteException.stub.php after removing WriteException in PHPC-2348.