ব্যতিক্রমগুলি কি গেম ইঞ্জিন ডিজাইনে ব্যাপকভাবে ব্যবহৃত হয় বা বিবৃতি থাকলে খাঁটি ব্যবহার করা আরও বেশি পছন্দনীয়? ব্যতিক্রম সহ উদাহরণস্বরূপ:
try {
m_fpsTextId = m_statistics->createText( "FPS: 0", 16, 20, 20, 1.0f, 1.0f, 1.0f );
m_cpuTextId = m_statistics->createText( "CPU: 0%", 16, 20, 40, 1.0f, 1.0f, 1.0f );
m_frameTimeTextId = m_statistics->createText( "Frame time: 0", 20, 20, 60, 1.0f, 1.0f, 1.0f );
m_mouseCoordTextId = m_statistics->createText( "Mouse: (0, 0)", 20, 20, 80, 1.0f, 1.0f, 1.0f );
m_cameraPosTextId = m_statistics->createText( "Camera pos: (0, 0, 0)", 40, 20, 100, 1.0f, 1.0f, 1.0f );
m_cameraRotTextId = m_statistics->createText( "Camera rot: (0, 0, 0)", 40, 20, 120, 1.0f, 1.0f, 1.0f );
} catch ... {
// some info about error
}
এবং আইএফএস সহ:
m_fpsTextId = m_statistics->createText( "FPS: 0", 16, 20, 20, 1.0f, 1.0f, 1.0f );
if( m_fpsTextId == -1 ) {
// show error
}
m_cpuTextId = m_statistics->createText( "CPU: 0%", 16, 20, 40, 1.0f, 1.0f, 1.0f );
if( m_cpuTextId == -1 ) {
// show error
}
m_frameTimeTextId = m_statistics->createText( "Frame time: 0", 20, 20, 60, 1.0f, 1.0f, 1.0f );
if( m_frameTimeTextId == -1 ) {
// show error
}
m_mouseCoordTextId = m_statistics->createText( "Mouse: (0, 0)", 20, 20, 80, 1.0f, 1.0f, 1.0f );
if( m_mouseCoordTextId == -1 ) {
// show error
}
m_cameraPosTextId = m_statistics->createText( "Camera pos: (0, 0, 0)", 40, 20, 100, 1.0f, 1.0f, 1.0f );
if( m_cameraPosTextId == -1 ) {
// show error
}
m_cameraRotTextId = m_statistics->createText( "Camera rot: (0, 0, 0)", 40, 20, 120, 1.0f, 1.0f, 1.0f );
if( m_cameraRotTextId == -1 ) {
// show error
}
আমি শুনেছি যে ব্যতিক্রমগুলি আইএফএসের তুলনায় কিছুটা ধীর গতিতে এবং যদি-চেকিং পদ্ধতিতে আমার ব্যতিক্রমগুলি মিশ্রিত করা না হয়। তবে ব্যতিক্রমগুলি সহ আমার কাছে প্রতিটি প্রাথমিক () পদ্ধতি বা এর অনুরূপ কিছু করার পরে প্রচুর পরিমাণে আইএফএসের চেয়ে বেশি পঠনযোগ্য কোড রয়েছে যদিও আমার মতে কেবলমাত্র একটি পদ্ধতির জন্য এগুলি কখনও কখনও ভারী হয়। তারা কি গেম ডেভলপমেন্টের জন্য ঠিক আছে বা সাধারণ আইএফএসের সাথে আঁকতে আরও ভাল?