473,406 Members | 2,259 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

how do you make this?

Hello.
I have a class where the object are created with the data retrieved
from a db.

The data retrieved is an image and when this data doesn't exist the
constructor must generate it.
well, i have doubts to do this.

I think that i have two ways for this. The first is create an exception
that it is throw when the data are not and in the "catch sentence" the
data would be generated and the second is using an "if sentence"
what way is better? how is more elegant?

Best regards
M.

Dec 19 '06 #1
3 1223

Manuel wrote:
Hello.
I have a class where the object are created with the data retrieved
from a db.

The data retrieved is an image and when this data doesn't exist the
constructor must generate it.
well, i have doubts to do this.

I think that i have two ways for this. The first is create an exception
that it is throw when the data are not and in the "catch sentence" the
data would be generated and the second is using an "if sentence"
what way is better? how is more elegant?

Best regards
M.
No sir, exceptions are used for exceptional circumstances to handle
errors or discrepencies.
One does not use exceptions to conditionally create some instance of a
type.
In your case, the class in question should use 3 constructors, one
defaut ctor, one parametized ctor and a copy ctor. Which ctor gets
invoked depends on the arguements passed to it, if any.

class Image { ... };

class Data
{
Image m_image;
public:
Data() : m_image() { } // def ctor
Data( Image& image ) : m_image(image) { } // param ctor
Data( const Data& copy ) // copy ctor
{
m_image = copy.m_image;
}
};

How you integrate that in your code at this point is information i
don't have.

Dec 19 '06 #2
Manuel wrote:
Hello.
I have a class where the object are created with the data retrieved
from a db.

The data retrieved is an image and when this data doesn't exist the
constructor must generate it.
well, i have doubts to do this.

I think that i have two ways for this. The first is create an
exception that it is throw when the data are not and in the "catch
sentence" the data would be generated and the second is using an "if
sentence"
what way is better? how is more elegant?
If you dig around for "exception vs error code", you'll probably see
more than one opinion. I think that exceptions are not good for what
you need here. Improper data happen all the time, and it should be
treated as a normal situation and not an exceptional one. If you have
to design a mechanism to respond to incorrectly formatted or simply
wrong data, it's another sign that exceptions are not for that. In
an exceptional situation you usually just log what happened and bail
out. It is more likely that you cannot work around an exception. If
you can think of a work-around, you should probably employ error code
mechanism (the "if sentence").

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Dec 19 '06 #3


On Dec 19, 8:56 pm, "Victor Bazarov" <v.Abaza...@comAcast.netwrote:
Manuel wrote:
Hello.
I have a class where the object are created with the data retrieved
from a db.
The data retrieved is an image and when this data doesn't exist the
constructor must generate it.
well, i have doubts to do this.
I think that i have two ways for this. The first is create an
exception that it is throw when the data are not and in the "catch
sentence" the data would be generated and the second is using an "if
sentence"
what way is better? how is more elegant?If you dig around for "exception vs error code", you'll probably see
more than one opinion. I think that exceptions are not good for what
you need here. Improper data happen all the time, and it should be
treated as a normal situation and not an exceptional one. If you have
to design a mechanism to respond to incorrectly formatted or simply
wrong data, it's another sign that exceptions are not for that. In
an exceptional situation you usually just log what happened and bail
out. It is more likely that you cannot work around an exception. If
you can think of a work-around, you should probably employ error code
mechanism (the "if sentence").

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Well, My doubt is not around for "exception vs error code", i think.
the question isn't that it retrieved improper data.

The question is that it can or can not be the image data in the db. In
case it isn't data, the constructor must generate it.

after i read your mail and the Salf_peter's mail I think that i must
add other way: Make two constructors, one that has the parameter data
and other that hasn't it and it must connect to db to read de image
data.
This method implies that in the class where it is made an instance of
the primary class must connect it to db too. i don't know if it is
correct because the data access object is used in more places

i don't decide that is the better choice but I incline by the last
option

Best regards
M.

Dec 19 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: James | last post by:
I have a from with 2 fields: Company & Name Depening which is completed, one of the following queries will be run: if($Company){ $query = "Select C* From tblsample Where ID = $Company...
5
by: Scott D | last post by:
I am trying to check and see if a field is posted or not, if not posted then assign $location which is a session variable to $location_other. If it is posted then just assign it to...
2
by: Nick | last post by:
Can someone please tell me how to access elements from a multiple selection list? From what ive read on other posts, this is correct. I keep getting an "Undefined variable" error though... Form...
2
by: Alexander Ross | last post by:
I have a variable ($x) that can have 50 different (string) values. I want to check for 7 of those values and do something based on it ... as I see it I have 2 options: 1) if (($x=="one") ||...
0
by: Dan Foley | last post by:
This script runs fine, but I'd like to know why it's so slow.. Thanks for any help out there on how i can make it faster (it might take up to 5 min to write these 3 export files whith 15 records...
5
by: Lee Redeem | last post by:
Hi there I've created abd uploaded this basic PHP script: <html> <head> <title>PHP Test</title> </head> <body> <H1 align="center">
5
by: christopher vogt | last post by:
Hi, i'm wondering if there is something like $this-> to call a method inside another method of the same class without using the classname in front. I actually use class TEST { function...
6
by: Phil Powell | last post by:
Ok guys, here we go again! SELECT s.nnet_produkt_storrelse_navn FROM nnet_produkt_storrelse s, nnet_produkt_varegruppe v, nnet_storrelse_varegruppe_assoc sv, nnet_produkt p WHERE...
1
by: Michel | last post by:
a site like this http://www.dvdzone2.com/dvd Can you make it in PHP and MySQL within 6 weeks? If so, send me your price 2 a r a (at) p a n d o r a . b e
11
by: Maciej Nadolski | last post by:
Hi! I can`t understand what php wants from me:( So: Cannot send session cache limiter - headers already sent (output started at /home/krecik/public_html/silnik.php:208) in...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.