Not for ordinary error conditions If you have enough information to handle an error, it's not an exception. You should take care of it in the current context rather than throwing an exception to a larger context. It's assumed these are dealt with by some other mechanism, like the operating system or hardware. An exception looks somewhat like an alternate return mechanism and somewhat like a switch statement, so you can be tempted to use them for other than their original intent. Also, exceptions from anything other than error conditions are quite confusing to the user of your class or function.
Some programs are quite simple, many utilities, for example.
You may only need to take input and perform some processing. In these programs you might attempt to allocate memory and fail, or try to open a file and fail, and so on. Basically, if you don't need to use exceptions, you don't have to. Another situation that arises is the modification of an existing program that doesn't use exceptions. You may introduce a library that does use exceptions and wonder if you need to modify all your code throughout the program.