Two good online resources to start learning about constructive mathematics are Wikipedia and SEP. There are also several nice books and surveys on constructive mathematics and its varieties. Here are some I like more:
Survey:
Books:
A. Heyting, "Intuitionism — An Introduction", 1971
M. Beeson, "Foundations of Constructive Mathematics", 1985
D. van Dalen and A.S. Troelstra, "Constructivism in Mathematics: An Introduction", two volumes, 1988
D. Bridges, F. Richman, "Varieties of Constructive Mathematics", 1987
Per Martin-Löf "Intuitionistic Type Theory", 1984
(note: this is quite old and Martin-Löf has made several significant changes to this views over time which are to best of my knowledge are not published in a nice form unfortunately.)
For most constructive mathematicians, the essence of mathematics is not formal proofs but constructions. What they mean by construction varies, e.g. for Brouwer these are mental constructions, mathematical objects (particularly infinite mathematical objects) do not have a mind independent existence. So to prove some object exists you should construct it. How can be construct a mental mathematical objects? According to some intuitionist, a mathematician can directly understand what a construction by his/her intuition. There are methods for construction that has been accepted but there is not an a priori bound possible methods, some mathematician can come up with a new method of construction tomorrow. With this in mind it becomes more clear why they expect the justification for nonexistence of an object to be a construction converting a hypothetical construction for it to a construction for contradiction. A good starting point to understand these is the BHK interpretation. As Carl has pointed out there are subtle points about how these constructions are represented, in particular what is the representations for the inputs and the outputs of a functional construction. Many classically identical concepts are not constructively identical, for example there are differences between a function and an operation (see Beeson 1985 for more details). So in constructive mathematics we have more fundamental concepts than we have in classical mathematics where many of these concepts can be reduced to definitions based on other ones and one should be careful about the meaning of statements. When one writes $\forall f \ldots$ is $f$ an operation or a function? and so on.
Other than variations of Bouwer's intuitionism, there are three other active versions of constructivism: 1. Recursive/Computable Mathematics interprets construction as computable function (related to Russian school of constructivism and Markov), 2. Bishop style constructivism which is consistent with classical mathematics and also with intuitionism and computable mathematics, and 3. Martin-Löf's type theory which is more delicate than others (at least IMHO).
So it is not easy how you can rule out that a theorem does not have a constructive proof in the sense of intuitionism (unless one has a constructive proof that would convert such hypothetical proofs to constructive proofs of contradiction) since the possible constructions are not limited to those we have currently, and checking if a given proof is a constructive proof is an intuitive concept which is not defined formally and cannot be checked based on a fixed set of rules (e.g. by a computer program). So in theory, every classical theorem that is not ruled out by a constructive proof can potentially have a constructive proof and it is difficult to give counterexamples to classical reasoning. On the other hand Brouwer developed what is called weak-counter examples, statements that their correctness would imply that we know something at this moment which we don't, e.g. convergence of all Cauchy sequences of rational numbers implies that either we know that GC (Goldbach's Conjecture) is true or that we know GC is false, and right now we don't know either. (GC is not essential for the argument, we can replace it with any $\Pi_1$ formula that we don't know it is true and we don't know it is false).