I have the following code statement that calls a separate class.

```
if (newOrEdit.Equals("New"))
{
    try
    {
        BusinessLayer.InsertOperator(operatorDetails);
    }
    catch (Exception)
    {
        MessageBox.Show("Error unable to insert details.");
    }

}

```

This calls a simple method that tries to insert the operator. 

I have seen the same method done as follows

```
if (newOrEdit == "New")
{
    if (Business.insertNewUser(userDetails))
    {
        this.Close();
    }
    else
    {
        MessageBox.Show("Unable to insert new user", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        this.Close();
    }
}

```

Now this method accepts a boolean back and inside the method it has the try catch inside the business class.

Which of the following is better and why?