Charges include assault with a firearm on a law enforcement officer; possession of a handgun by a minor; and resist, delay, or obstruct a public officer.
The identity of the teen has not been released.
It happened just after midnight. Durham Police Department officers responded to a 911 call about a "car club" racing in the 4700 block of Hope Valley Road.
According to authorities, an officer arrived on the scene to get people to leave, but objects were thrown at him and his vehicle. The officer then got out of his car to confront the 16-year-old, and a brief foot pursuit happened.
The suspect then pulled out a handgun and refused to drop it despite being told several times to. When they raised the weapon, the officer shot them.
Investigators said he was shot twice. The teen entered a vehicle with others and fled, and then was later caught and taken to a hospital.
The officer involved was Corporal R. McQueen. He's been with DPD since 2006 and is assigned to Uniform Patrol Bureau.
Police said he was wearing a body-worn camera which was activated during the foot chase and shooting.