"to throw someone something" vs "to throw something at someone"

Solution 1:

To throw s.t. at s.o. is to throw s.t. with the intention of hitting s.o. with it.
The at is directional and volitional. It's an idiom.

This is not the same thing as the Dative Alternation, which alternates the
two constructions with verbs of transfer:

  • He threw/gave/brought/mailed/told s.t. to s.o.
  • He threw/gave/brought/mailed/told s.o. s.t.

Only to (or for, in benefactives where s.o. winds up possessing s.t)
will work with this alternation; not at.

  • He dug/bought/found/cooked s.t. for s.o.
  • He dug/bought/found/cooked s.o. s.t..

Solution 2:

You might be interested in what Steven Pinker has to say on such constructions here. He takes the two examples Give a muffin to the mouse and Give the mouse a muffin and shows that the two sentences are conceptually different in that, in the first, something is done to the muffin and, in the second, something is done to the mouse. He develops the theme in Chapter 2 of 'The Stuff of Thought’.

Solution 3:

"Al threw him the ball" is absolutely fine, and sounds more natural to me (BrE) than the 'to' version

'him' = Indirect Object

'the ball' = Direct Object

As John Lawler and alcas have said, we can only use the indirect object to replace prepositional phrases with 'to' and 'for'. Notice how the order of Direct Object and Indirect Object are reversed when we omit the preposition.

Al threw him the ball = Al threw the ball to him

She cooked him supper = She cooked supper for him

With all other prepositions, we need the full prepositional phrase, which always comes after the Direct Object:

He threw something at him.

So 'He threw at him something' is an impossible construction

See: http://englishplus.com/grammar/00000018.htm