It shall be unlawful for any person under the age of 21 years to be in possession of any knife of any description in any of the streets, alleys, parks, boulevards or other public property or schools in the city or in any dance hall, theater, amusement park, liquor establishment, store or other private property generally frequented by the public for purposes of education, recreation, amusement, entertainment, sport or shopping, provided that the prohibition of this section shall not apply to any such person under 21 years of age being in possession of any such knife when it is used or carried in good faith as a tool of honest work, trade, business, sport or recreation or when used or carried in good faith as equipment related to and required for any legitimate sport, recreation or youth character-building program (Boy Scouts, etc.) when actively engaged therein or actively engaged in going to or returning from such honest work, trade, business, sport, recreation or youth character-building program.