Knives can be carried for:
(i) the lawful pursuit of the person’s occupation, education or training,
(ii) the preparation or consumption of food or drink,
(iii) participation in a lawful entertainment, recreation or sport,
(b) the custody is reasonably necessary in all the circumstances during travel to or from or incidental to an activity referred to in paragraph (a), or
(3) However, it is not a reasonable excuse for the purposes of this section for a person to have custody of a knife solely for the purpose of self defence or the defence of another person.
Also so as not to be considered a concealed weapon the knife must be worn in some form of external sheath.
As far as people's I need it to defend myself arguments has it occured that essentially you are starting an arms race. As it currently stands it is illegal for either you or your assailant to be carrying a knife - you reason that you should be able to carry a knife because then knife > no knife and you win. However you neglect that if you can carry a knife then so can they. So then you say I need a gun because gun > knife and you win. But then they can carry a gun, so you say I need an assualt rifle, so on and so forth, I'm sure you get the drift.
I think the current laws are the best possible ones.