When can I use "by" with "Present Continuos"?
I see quite often the use of the "by" with "Present Continuos", "ing" in the end of the word.
Example 1: "A process isolates an application from other applications by giving it its own virtual memory and by ensuring that different processes can't influence each other".
Example 2: Fortunately, the compiler helps by raising an error when you accidentally use a value type for the lock statement.
In these examples, we can see "by giving", "by ensuring" and "by raising".
Why wasn't it write without the word "by"?
Is this interchangeable?
When can I use without "by"?