Java/C3/Custom-Exceptions/Kannada
(This script is translated by Melvin & corrected & uploaded by Sandhya on 22nd May 2020) (corrected & uploaded scripts are marked as Final)
Outline: - ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಎಂದರೇನು? - ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ನ ವಿವರಣೆ - ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ನ ಉದಾಹರಣೆ - "InvalidMarkException" - "throw" ಕೀವರ್ಡ್ ನ ಬಳಕೆ - ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಗಳಲ್ಲಿ ಎರರ್ ಗಳನ್ನು ಸರಿಪಡಿಸುವುದು - "Add throws declaration" ಆಯ್ಕೆಯನ್ನು ಬಳಸಿ ಎರರ್ ಅನ್ನು ಸರಿಪಡಿಸುವುದು - "throws" ಕೀವರ್ಡ್ ನ ಬಳಕೆ - "FileNotFoundException" ನ ಉದಾಹರಣೆ - ಅನೇಕ ಎಕ್ಸೆಪ್ಶನ್ ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು - "surround with try/catch" ಆಯ್ಕೆಯನ್ನು ಬಳಸುವುದು
Time | Narration
|
00:01 | Custom exception ಗಳ ಕುರಿತ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ಸ್ವಾಗತ. |
00:05 | ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು, ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಗಳು, throw ಮತ್ತು throws ಕೀವರ್ಡ್ಗಳ ಬಳಕೆಯ ಕುರಿತು ಕಲಿಯಲಿದ್ದೇವೆ. |
00:14 | ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ನಾನು:
ಉಬಂಟು ಲಿನಕ್ಸ್ 16.04 OS, JDK 1 .7 ಮತ್ತು Eclipse 4.3.1 ಇವುಗಳನ್ನು ಬಳಸುತ್ತೇನೆ. |
00:26 | ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನುಸರಿಸಲು, ಜಾವಾದಲ್ಲಿ Exceptions Handling ನ ಬಗ್ಗೆ ನೀವು ತಿಳಿದಿರಬೇಕು. ಇಲ್ಲದಿದ್ದಲ್ಲಿ ಸಂಬಂಧಿತ ಜಾವಾ ಟ್ಯುಟೋರಿಯಲ್ಗಳಿಗಾಗಿ ದಯವಿಟ್ಟು ಇಲ್ಲಿ ತೋರಿಸಿರುವ ಲಿಂಕ್ಗೆ ಭೇಟಿ ನೀಡಿ. |
00:38 | ಮೊದಲಿಗೆ ನಾವು ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಗಳ ಕುರಿತು ಕಲಿಯೋಣ. |
00:42 | ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಎನ್ನುವುದು user defined exception ಕ್ಲಾಸ್ ಆಗಿದೆ. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ 'ಚೆಕ್ಡ್ ಎಕ್ಸೆಪ್ಶನ್' ಗಳಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ. |
00:51 | ಬಳಕೆದಾರರ ಅಗತ್ಯತೆಗೆ ತಕ್ಕಂತೆ ಎಕ್ಸೆಪ್ಶನ್ ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. |
00:57 | ನಾವೀಗ eclipse ಅನ್ನು ತೆರೆದು, CustomExceptionDemo ಎನ್ನುವ ಹೊಸ ಪ್ರಾಜೆಕ್ಟ್ ರಚಿಸಲಿದ್ದೇವೆ. |
01:04 | ಈ ಪ್ರಾಜೆಕ್ಟ್ ಒಳಗೆ ನಾವು, ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಗಳ ವಿವರಣೆಗಾಗಿ ಅಗತ್ಯವಿರುವ ಕ್ಲಾಸುಗಳನ್ನು ರಚಿಸಲಿದ್ದೇವೆ. |
01:11 | ನಾವು InvalidMarkException ಎನ್ನುವ ಹೊಸ ಕ್ಲಾಸನ್ನು ರಚಿಸಲಿದ್ದೇವೆ. |
01:15 | ಇದನ್ನು ಎಕ್ಸೆಪ್ಶನ್ ಕ್ಲಾಸ್ ನ ವಿಧವಾಗಿ ಮಾಡಲು, ಇದು ಜಾವಾ ಎಕ್ಸೆಪ್ಶನ್ ಕ್ಲಾಸ್ ನ ಸಬ್ ಕ್ಲಾಸ್ ಆಗಿರಬೇಕು. |
01:22 | ಹೀಗೆ ಮಾಡಲು extends Exception ಎಂದು ಟೈಪ್ ಮಾಡಿ. |
01:27 | Source ಮೆನುವಿನ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು Generate constructors from Superclass ಆರಿಸಿ. |
01:34 | ಈಗ ಬಲಗಡೆಯಲ್ಲಿ Deselect All ಬಟನ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ. |
01:38 | ನಂತರ single string ಆರ್ಗ್ಯುಮೆಂಟ್ ಜೊತೆಗಿನ constructor ಆರಿಸಿ ಮತ್ತು ಕೆಳಗಡೆ ಇರುವ OK ಬಟನ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ. |
01:45 | ಈ ಎಕ್ಸೆಪ್ಶನ್ ಉಂಟಾದಾಗ ತೋರಿಸುವ ಮೆಸೇಜ್ ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು, ಈ ಸ್ಟ್ರಿಂಗ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. <<PAUSE>> |
01:52 | ನಾವೀಗ StudentMarks ಹೆಸರಿನ ಇನ್ನೊಂದು ಕ್ಲಾಸ್ ಅನ್ನು ಸೇರಿಸೋಣ. |
01:57 | ನಂತರ ಈ ಕೋಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ. |
02:00 | ಈ ಕ್ಲಾಸು marks ಹೆಸರಿನ ಒಂದೇ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಂದಿದೆ. |
02:04 | ಈ constructor, marks ನ ಮೌಲ್ಯವನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡುತ್ತದೆ. |
02:09 | ಈಗ ಮಾರ್ಕ್ ಗಳನ್ನು ವ್ಯಾಲಿಡೇಟ್ ಮಾಡಲು ಮೆಥಡ್ ಒಂದನ್ನು ಸೇರಿಸೋಣ. |
02:13 | ಮಾರ್ಕ್ ಗಳ ಸಾಮಾನ್ಯ ಶ್ರೇಣಿಯು 0 ಯಿಂದ 100. |
02:18 | ಒಂದುವೇಳೆ marks less than 0 or greater than 100 ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದರೆ, InvalidMarkException ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. |
02:25 | ಇದಕ್ಕಾಗಿ ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಅನ್ನು ತೋರಿಸಲು ನಾವು throw ಕೀವರ್ಡ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಬಳಸಬೇಕು. |
02:33 | ಒಂದುವೇಳೆ ಮಾರ್ಕ್ ಸರಿಯಾಗಿದ್ದರೆ, “Entry OK” ಎಂಬ ಸಂದೇಶವು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. |
02:39 | ಈಗ InvalidMarkException ಎರರ್ ಕಾಣುತ್ತಿದೆ. |
02:43 | ಇದನ್ನು ಪರೀಕ್ಷಿಸಿ ಸರಿಪಡಿಸೋಣ. |
02:46 | ಇದಕ್ಕಾಗಿ ಎರರ್ ನ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು “Add throws declaration” ಮೇಲೆ ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡಿ. |
02:51 | 'ಮೆಥಡ್ ಸಿಗ್ನೇಚರ್' ಗೆ “throws InvalidMarkException” ಅನ್ನು ಸೇರಿಸಿದ ತಕ್ಷಣ ಎರರ್ ಕಾಣೆಯಾಗುವುದು. |
03:00 | ಇಲ್ಲಿ ಮೆಥಡ್ ಗಳ ಜೊತೆ throws ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಲಾಗಿದೆ. |
03:06 | ಮೆಥಡ್, ಇಲ್ಲಿ specified exception ಅನ್ನು ತೋರಿಸುವುದನ್ನು ಇದು ಸೂಚಿಸುತ್ತದೆ. |
03:11 | ಇಂತಹ ಮೆಥಡ್ ಅನ್ನು ಕಾಲ್ ಮಾಡಿದಾಗ, ನಾವು exception handling ಕೋಡ್ ಅನ್ನು ಒದಗಿಸಬೇಕು.
|
03:16 | ನಂತರ, ನಾವು 'ಫೈಲ್ ಆಕ್ಸೆಸ್ ಆಪರೇಶನ್' (file access operation) ಅನ್ನು ಮಾಡೋಣ. ಇದು FileNotFoundException ಅನ್ನು ತೋರಿಸುತ್ತದೆ. |
03:23 | ಇದಕ್ಕಾಗಿ, FileReader ಕ್ಲಾಸ್ ನ ಒಂದು ಇನ್ಸ್ಟನ್ಸ್ ಅನ್ನು (instance) ರಚಿಸಲು ಈ ಕೋಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ. |
03:29 | Eclipse ಕೆಲವೊಂದು ಎರರ್ಗಳನ್ನು ತೋರಿಸುತ್ತದೆ. ಏಕೆಂದರೆ ನಾವು ಸಂಬಂಧಿತ ಜಾವಾ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡಿಲ್ಲ. |
03:36 | ಇದನ್ನು ಸರಿಪಡಿಸಲು ಎರರ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು import 'FileReader' (java.io) ಮೇಲೆ ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡಿ. |
03:44 | ಮುಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು package ಮತ್ತು ಇದರ ಬಳಕೆಯ ಕುರಿತು ವಿವರವಾಗಿ ಕಲಿಯಲಿದ್ದೇವೆ. |
03:50 | Home ಫೋಲ್ಡರ್ನಲ್ಲಿರುವ Marks ಫೈಲ್ ಅನ್ನು fr ಗೆ ಆಕ್ಸೆಸ್ ಮಾಡಲು ಅನುಮತಿಸಲು ಈ ಕೋಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ. |
03:59 | ಇಲ್ಲಿ ತೋರಿಸಿರುವ ಪಾಥ್ ಅನ್ನು ಸಿಸ್ಟಂನ Home ಫೋಲ್ಡರ್ನಲ್ಲಿರುವ ಪಾಥ್ ನಿಂದ ಬದಲಾಯಿಸಬೇಕು. |
04:05 | ಕೋಡ್ ನ ಈ ಸಾಲು, FileNotFoundException ಅನ್ನು ತೋರಿಸಬಹುದು ಎಂದು ಒಂದು ಎರರ್ ತೋರಿಸುತ್ತದೆ. |
04:10 | ಈ ಎಕ್ಸೆಪ್ಶನ್ ಅನ್ನು throws ಕ್ಲಾಜ್ ನಲ್ಲಿ ಸೇರಿಸುವ ಮೂಲಕ ನಾವಿದನ್ನು ಬಗೆಹರಿಸಬಹುದು. |
04:16 | FileNotFoundException ಅನ್ನು ಸಹ throws ಕ್ಲಾಜ್ ಗೆ ಸೇರಿಸಿರುವುದನ್ನು ನಾವು ನೋಡಬಹುದು. |
04:22 | ಇಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ throws ಅನ್ನು ಬಳಸಿ ಅನೇಕ ಎಕ್ಸೆಪ್ಶನ್ ಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು. |
04:28 | ನಾವೀಗ StudentMarks ಕ್ಲಾಸ್ ಒಳಗೆ, main() ಮೆಥಡ್ ಅನ್ನು ರಚಿಸುವೆವು. ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು ನೋಡುವೆವು. |
04:34 | ಇಲ್ಲಿ m1 ಅಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಿ ಮಾರ್ಕ್ ಗಳ ಮೌಲ್ಯವನ್ನು 40 ಆಗಿ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಲಿದ್ದೇವೆ. |
04:41 | ಮುಂದಿನ ಸಾಲಿನಲ್ಲಿ ಅಬ್ಜೆಕ್ಟ್ m1 ಅನ್ನು ಬಳಸಿ, validate ಮೆಥಡ್ ಅನ್ನು ನಾವು ಇನ್ವೋಕ್ ಮಾಡುವೆವು. |
04:47 | validate ಮೆಥಡ್ ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡಿದಾಗ ಎರರ್ ಉಂಟಾಗಿರುವುದನ್ನು ನಾವು ನೋಡಬಹುದು. |
04:52 | ಈ ಮೆಥಡ್, InvalidMarkException ಮತ್ತು FileNotFoundException ಅನ್ನು ತೋರಿಸುತ್ತದೆ ಎಂದು ಇದು ಹೇಳುತ್ತದೆ. |
04:59 | ಈ ಎರರ್ ಸರಿಪಡಿಸಲು, ನಾವು ಹಿಂದೆ ಮಾಡಿದಂತೆ main ಮೆಥಡ್ಗೆ throws ಕ್ಲಾಜ್ ಅನ್ನು ಸೇರಿಸಬಹುದು. |
05:05 | ಆದರೆ try ಮತ್ತು catch ಬ್ಲಾಕ್ ಬಳಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. |
05:10 | ಹೀಗಾಗಿ Surround with try/catch ಮೇಲೆ ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡಿ. |
05:14 | ಈಗ ಅಗತ್ಯವಿರುವ try-catch ಬ್ಲಾಕ್ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಎಕ್ಸೆಪ್ಶನ್ ಅನ್ನು ನಿರ್ವಹಿಸಲಾಗಿದೆ. |
05:20 | ಈಗ ಈ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ರನ್ ಮಾಡೋಣ. |
05:23 | ಇದು “Entry OK” ಮತ್ತು “rest of the code” ತೋರಿಸುತ್ತದೆ. |
05:27 | ಮಾರ್ಕ್ಸ್ ನ ಮೌಲ್ಯವು 40 ಇದ್ದು, ಇದು ಸರಿಯಾಗಿರುವುದರಿಂದ ಹೀಗೆ ತೋರಿಸಲಾಗಿದೆ. |
05:32 | ನಾವೀಗ ಮೌಲ್ಯವನ್ನು ತಪ್ಪು ನಮೂದು -10 ಕ್ಕೆ (ಮೈನಸ್ ೧೦) ಬದಲಾಯಿಸೋಣ. |
05:37 | ನಾವೀಗ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಇನ್ನೊಮ್ಮೆ ರನ್ ಮಾಡೋಣ. |
05:40 | ಈಗ InvalidMarkException ಕಾಣಿಸಿಕೊಂಡಿದೆ, ಏಕೆಂದರೆ -10 ತಪ್ಪು ಎಂಟ್ರಿಯಾಗಿದೆ. |
05:47 | ನಾವು ಎಕ್ಸೆಪ್ಶನ್ ನಿರ್ವಹಿಸಿರುವುದರಿಂದ, “rest of the code” ಸಂದೇಶವನ್ನು ನೋಡಬಹುದು. |
05:53 | ಇದರ ಬದಲಾಗಿ ನಾವು “throws” ಕ್ಲಾಜ್ ಬಳಸಿದರೆ, “rest of the code” ಸಂದೇಶವು ಪ್ರಿಂಟ್ ಆಗುವುದಿಲ್ಲ. |
06:00 | ಅಲ್ಲದೆ ಈ ಪ್ರೋಗ್ರಾಂ ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತದೆ. |
06:03 | ಹೀಗಾಗಿ, main ಮೆಥಡ್ ಒಳಗೆ, ಮೆಥಡ್ ಒಂದನ್ನು ಕಾಲ್ ಮಾಡಿದಾಗ try catch ಬ್ಲಾಕ್ ಬಳಸುವುದು ಒಳ್ಳೆಯದು. |
06:10 | ನಾವೀಗ ಈ ಟ್ಯುಟೋರಿಯಲ್ನ ಕೊನೆಯಲ್ಲಿದ್ದೇವೆ. |
06:13 | ಸಂಕ್ಷಿಪ್ತವಾಗಿ, |
06:15 | ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು:
ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಎಂದರೇನು ಮತ್ತು throw ಮತ್ತು throws ಕೀವರ್ಡ್ಗಳ ಬಳಕೆ, ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಗಳ ರಚನೆ ಮತ್ತು ಬಳಕೆಯ ಕುರಿತು ಕಲಿತೆವು. |
06:26 | ಅಸೈನ್ಮೆಂಟ್ ಆಗಿ InvalidAgeException ಎನ್ನುವ Custom exception ಕ್ಲಾಸ್ ಅನ್ನು ರಚಿಸಿ. |
06:33 | ಇನ್ನೊಂದು Age ಕ್ಲಾಸ್ ಅನ್ನು ರಚಿಸಿ ಮತ್ತು Age ನ ವ್ಯಾಲ್ಯೂವನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಲು 'ಕನ್ಸ್ಟ್ರಕ್ಟರ್' (constructor) ಒಂದನ್ನು ರಚಿಸಿ. |
06:39 | ಹಾಗೂ, ಪ್ರಾಯವು 18ಕ್ಕಿಂತ ಕಡಿಮೆ ಇದ್ದಲ್ಲಿ, ಎಕ್ಸೆಪ್ಶನ್ ತೋರಿಸಲು ಮೆಥಡ್ validate ಅನ್ನು ರಚಿಸಿ. |
06:45 | main ಮೆಥಡ್ ಒಳಗೆ ಅಬ್ಜೆಕ್ಟ್ ಗಳನ್ನು ರಚಿಸಿ ಮತ್ತು validate() ಮೆಥಡ್ ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡಿ. |
06:51 | ಅಗತ್ಯವಿರುವಲ್ಲಿ try-catch ಬ್ಲಾಕ್ಗಳನ್ನು ಬಳಸಿ exception handling ಒದಗಿಸಿ. |
06:56 | ಕಸ್ಟಮ್ ಎಕ್ಸೆಪ್ಶನ್ ಕ್ಲಾಸ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ. |
07:00 | ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಇರುವ ವೀಡಿಯೊ, ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಾಜೆಕ್ಟ್ ನ ಸಾರಾಂಶವಾಗಿದೆ. ದಯವಿಟ್ಟು ಇದನ್ನು ಡೌನ್ ಲೋಡ್ ಮಾಡಿ ವೀಕ್ಷಿಸಿ. |
07:06 | ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಾಜೆಕ್ಟ್ ತಂಡವು ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗಳನ್ನು ಬಳಸಿ ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ ಮತ್ತು ಆನ್ ಲೈನ್ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ತೇರ್ಗಡೆ ಹೊಂದಿದವರಿಗೆ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಕೊಡುತ್ತದೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ದಯವಿಟ್ಟು ನಮಗೆ ಬರೆಯಿರಿ. |
07:18 | ‘ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್’ ಪ್ರೊಜೆಕ್ಟ್, NMEICT, MHRD, ಭಾರತ ಸರ್ಕಾರದ ನೆರವು ಪಡೆದಿದೆ. ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಈ ಮಿಷನ್ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ಲಭ್ಯವಿದೆ. |
07:29 | ಈ ಸ್ಕ್ರಿಪ್ಟ್, ಅಮಲ್ ಜ್ಯೋತಿ ಕಾಲೇಜ್ ಆಫ್ ಎಂಜಿನಿಯರಿಂಗ್ ನ ಮಾಹಿತಿ ತಂತ್ರಜ್ಞಾನ ವಿಭಾಗದ ಕೊಡುಗೆಯಾಗಿದೆ. |
07:36 | ಈ ಸ್ಕ್ರಿಪ್ಟ್ ನ ಅನುವಾದಕರು ಮಂಗಳೂರಿನಿಂದ ಮೆಲ್ವಿನ್ ಮತ್ತು ಧ್ವನಿ ಡಾ. ನವೀನ್ ಭಟ್, ಉಪ್ಪಿನಪಟ್ಟಣ.
ಧನ್ಯವಾದಗಳು. |