You have two objects (1) where their geometry intersect with each other, and one of them is non-manifold, marked red. It also has unapplied object scale (2) so what you’re looking at is not what the tools and modifiers see, and will export the wrong size if the scale is not applied on export. Ctrl+A → scale to apply object scale.
The way it’s non-manifold is that there are open edges, which are edges with only one face connected to them, and double geometry with 0-area faces. The latter can be seen in face select mode, where face indicators are where there should be edges (1). Select all, W → remove doubles.
Can’t have open edges, all edges has to have exactly two faces connected to them. In this case it means adding a surface between the open edges. Fastest way to do that is to go to edge select mode, ctrl+alt+shift+M to select non-manifold, then W → bridge edge loops.
The form needs to be closed with surfaces and those surfaces need to point in (2), which is how one defines a solid.
But, you may not want to build it like you have, by adding intersections. Not all slicers can work with that.