이 코드는 학습 7에서 완성된 exceptionHandlingTest.egl 파일입니다. 파일에 빨간색 X 기호로 표시된 오류가 있으면 사용자의 코드가 다음 코드와 일치하는지 확인하십시오.
package programs;
import eglderbyr7.data.Customer;
import eglderbyr7.data.Orders;
program exceptionHandlingTest type BasicProgram {}
function main()
customer Customer;
customer.FirstName = "John";
customer.LastName = "Doe";
customer.CustomerId = 1;
customerOrder Orders;
customerOrder.CustomerId = 1;
customerOrder.OrderId = 50;
customerOrder.OrderAmount = 0;
customerOrder.OrderDetails =
"This is my first order, so get it right!";
try
add customerOrder;
SysLib.writeStdout("Order added successfully.");
add customer;
SysLib.writeStdout("Customer added successfully.");
onException(ex SQLException)
SysLib.writeStdout("SQL exception "::ex.messageID);
SysLib.writeStdout("message = "::ex.message);
SysLib.writeStdout("Performing rollback.");
SysLib.rollback();
end
tempOrder Orders;
tempOrder.OrderId = 50;
get tempOrder;
if (tempOrder is noRecordFound)
SysLib.writeStdout("The order was rolled back successfully.");
else
SysLib.writeStdout("The order is still in the database");
end
end
end
학습 7: 예외 처리 및 롤백으로 되돌아가십시오.