input: Write a function to develop a Python web scraper using BeautifulSoup to scrape product data from an online web store. The function should fetch the raw HTML content from a given URL, parse the HTML, and extract the name, price, and description of each product. If the function encounters an error while fetching or parsing the data, it should return None.
  
  assert scrape_web_store('http://web-store.com')==['Product1 $10 Description1', 'Product2 $20 Description2']
  assert scrape_web_store('http://invalid-url.com')==None
output: def scrape_web_store(url):
      try:
          import requests
          from bs4 import BeautifulSoup
          response = requests.get(url)
          response.raise_for_status()
          soup = BeautifulSoup(response.text, 'html.parser')
          products = []
          for product in soup.find_all('div', class_='product'):
              name = product.find('h2').text
              price = product.find('span', class_='price').text
              description = product.find('p', class_='description').text
              products.append(f'{name} {price} {description}')
          return products
      except:
          return None